FMS 学习 (二) 流媒体
作者:jack 日期:2006-06-20
Jack 的 FMS 学习 (二) 流媒体
By jackgun_at_126.com
FMS 2 都出来好久了。不过好像一直都找不到感觉…安装倒是装了N多便了。哈哈,安装过程俺就不多说了。
开始的时候就想播播串流的 flv 而以,就是想把 flv 放到 FMS 服务器上,然后客户端以流的方式播放视频文件。关于 flv 文件放到服务器什么地方,在 flash 的帮助里有如下说明:
如果您使用 FMS 将 FLV 文件流式加载到 FLVPlayback 组件,则必须将 main.asc 文件添加到 Flash Communication Server FLV 应用程序。您可以在 Flash 8/Samples 和 Tutorials/Samples/Components/FLVPlayback/main.asc 下的 Flash 8 应用程序文件夹下找到该 main.asc 文件。
1. 在您的 FCS 应用程序文件夹中创建一个文件夹,将其命名为 my_application 之类的名称。
2. 将 main.asc 文件复制到 my_application 文件夹中。
3. 在 my_application 文件夹中创建名为 streams 的文件夹。
4. 在 streams 文件夹中创建名为 _definst_ 的文件夹。
5. 将您的 FLV 文件放置于 _definst_ 文件夹中
放好 flv 文件,先来试试连接服务器:
nc = new NetConnection();
nc.connect("rtmp://127.0.0.1/ my_application ");
nc.onStatus = function(info) {
trace("连接状态: "+info.code);
};
就这几行,不用解释了吧。
两种结果:
连接状态: NetConnection.Connect.Success
连接状态: NetConnection.Connect.Failed
如果不成功,再查查服务器(你开了服务没有?装好要开启 FMS 服务的),防火墙什么的。
成功了,继续…
还要在舞台中放一个 video 对象,起名 videoArea,
in_ns = new NetStream(nc);
videoArea.attachVideo(in_ns);
in_ns.play("test");
in_ns.onStatus = function(info) {
trace("播放状态:"+info.code+"\n Type:"+info.level+"\n");
trace("原高:"+videoArea.height+"\n 原宽:"+videoArea.width);
if (info.code == "NetStream.Buffer.Full") {
videoArea._height = videoArea.height;
videoArea._width = videoArea.width;
videoArea._x = 0;
videoArea._y = 0;
}
};
怎么样?跟网上其它教程差不多吧?我第一次玩也是照着教程抄,可是怎么也出不来东西…为什么?看这个: “videoArea” 这个东西,我一直以为是个 MediaDispaly 或是 FLVPlayback 什么的 (没玩过视频或是摄像头什么的啊,唉…)。看看说明, Video 对象是这样建立的:
1. 如果“库”面板不可见,选择“窗口”>“库”以显示该面板。
2. 单击“库”面板标题栏右侧的“选项”菜单,然后选择“新建视频”,在库中添加一个嵌入的 Video 对象。
3. 将该 Video 对象拖放到舞台上,然后使用属性检查器给它起一个唯一的实例名称,
例如,my_video。(不要将其命名为“Video”。)
另外:
in_ns.play("test");
这句,播放的就是 test.flv 文件,这里不需要写后缀名。
成功了没有?好玩吧,打开 flash 帮助查下NetStream 类这一部分的说明,就比较轻松就可以加上各种控件啊、Loading bar 啊、什么什么的。
待续……
文章来自: 本站原创
Tags: FlashMediaServes 流媒体
相关日志:
上一篇
下一篇

回复
呵呵,原来问题是这样解决的,我今天试了下,哈哈,OK了,高兴!!!
我照楼主的步骤作达到效果,但不知道怎么用google player 将其播放出来
谢谢