·您当前的位置:首页 > 技术教程 > Rtmp技术 >

[FMS]FMS使用需要注意的几种问题总结说明

时间:2013-02-04 09:57CuPlayer
有些时候我们用flash去读取外部的php,asp.....文件里的中文显示在flash里会出现乱码的情况,为了解决在flash里显示中文很多教程里通常都直接加了一句System.useCodepage=true 问题就在这,显示不了外部中文是因为flash内默认用Unicode编码

[FMS]FMS使用需要注意的几种问题总结说明:

* 中文编码:

有些时候我们用flash去读取外部的php,asp.....文件里的中文显示在flash里会出现乱码的情况,为了解决在flash里显示中文很多教程里通常都直接加了一句System.useCodepage=true
问题就在这,显示不了外部中文是因为flash内默认用Unicode编码,外部的文件大多都是gb2312,加上这句System.useCodepage=true代表强制flash使用系统默认的gb2312,这样flash就显示正确了,但fms服务器端默认也是用unicode的,这样客户端跟服务器端不同编码有时就会出错了,搜了一下server字典好象没有System.useCodepage=true了。。。所以解决办法就是去掉System.useCodepage=true,在外部php或asp中把编码转成utf-8,至于怎么转,不知道,问你的asp或php程序员吧 ,另外不要用记事本编辑你的asc文件。。即使编辑最后要一定另存为utf-8格式。

* 判断影片播放结束

ns.onStatus=function(info){
if(info.code=="NetStream.Play.Stop")trace("结束")
}


乍看好象没错,但是如果设置了缓冲以后(setBufferTime)就不好用了,仔细研究了一下原因4这样的

监视onStatus(info) ,info.code:

开始播放

NetStream.Play.Start (其实还没播放)

然后缓冲(根据setBufferTime设置的秒数缓。。)

NetStream.Buffer.Full (缓冲装满了,这才开始播放)

然后播放完了

NetStream.Play.Stop (其实还没播放完)

注意了,然后还要播放缓冲 - -b

NetStream.Buffer.Empty (缓冲空了,这才播放完了。。)

群里的kinglong兄比较聪明~,先Stop的时候做个记号,然后再满足Empty才算播放完,也就是两个条件,因为网速慢也会Empty。。。好办法
但我看了一下帮助,好象有一个专门的事件通知播放结束
ns.onPlayStatus=function(info){
if(info.code=="NetStream.Play.Complete")trace("感谢观看帮助")
}

* 防火墙,端口

默认安装的话默认端口是1935,管理是1111端口,记得防火墙要把1935和1111端口打开。

热门文章推荐

请稍候...

保利威视云平台-轻松实现点播直播视频应用

酷播云数据统计分析跨平台播放器