+ -
当前位置:首页 → 问答吧 → 单纯用as能否检测服务器端的某个flv文件是否存在?

单纯用as能否检测服务器端的某个flv文件是否存在?

时间:2006-05-17

来源:互联网

RT

作者: wlxhhr   发布时间: 2006-05-17

var my_nc:NetConnection = new NetConnection ();
my_nc.connect (null);

var my_ns:NetStream = new NetStream (my_nc);
MyVideo.attachVideo (my_ns);
my_ns.play ("xx.flv");
my_ns.onStatus = function (obj) {
       if (obj.code == "NetStream.Play.StreamNotFound") {
              trace ("找不到FLV文件");
       }
}

作者: Digi   发布时间: 2006-05-17

用输出的obj.code来判断就可以了 .

作者: Digi   发布时间: 2006-05-17

好,学到东西了.

作者: HBrO   发布时间: 2006-05-17

不行啊~~~
找在本机的flv用my_nc.connect(null)是可以的,
一旦连上服务器my_nc.connect("rtmp:/test2/wlx");
不管有没有该文件
trace出的code都是

                clientid:       85305240
       details:       sdfds
       description:       Playing and resetting sdfds.
       code:       NetStream.Play.Reset
       level:       status

       clientid:       85305240
       details:       sdfds
       description:       Started playing sdfds.
       code:       NetStream.Play.Start
       level:       status

作者: wlxhhr   发布时间: 2006-05-24

...

作者: 7thchord   发布时间: 2006-05-24

wlxhhr在上个帖子中说
引用:
不行啊~~~
找在本机的flv用my_nc.connect(null)是可以的,
一旦连上服务器my_nc.connect("rtmp:/test2/wlx");
不管有没有该文件
trace出的code都是

                clientid:       85305240
       details:       sdfds
       description:       Playing and resetting sdfds.
       code:       NetStream.Play.Reset
       level:       status

       clientid:       85305240
       details:       sdfds
       description:       Started playing sdfds.
       code:       NetStream.Play.Start
       level:       status
注意:

code:         NetStream.Play.Reset
code:       NetStream.Play.Start

最上边的那个是找不到的.下面的是已经开始播放了.那你就把

那个判断的字符串换了呗...我以为你是http播放的呢.所以给你写成null了

不知道是 FMS的..哈哈

作者: Digi   发布时间: 2006-05-24

可关键他不管该文件是否存在都会有NetStream.Play.Reset,那这叫我如何判断该文件到底有还是没有呢?

作者: wlxhhr   发布时间: 2006-05-24

开眼~

作者: steppen   发布时间: 2006-05-24

通過fms streaming, 找不到flv, 一樣有NetStream.Play.StreamNotFound
2樓做法是對的

作者: luar   发布时间: 2006-05-25

為了放個屁,還需脫褲子!~
學Flash就什麼都用AS搞定問題
你以為AS是神仙?
你開FCS難道還叫單純!!!!AS
任何語言都有操作文件的能力而你不使用
還一定要指定需要使用純腳本,主ㄧㄚ:這個AS隻是腳本,腳本永遠是腳本
別當程序看

作者: williamy   发布时间: 2006-05-25

提出這種的問題,我看了就想抬槓~

作者: williamy   发布时间: 2006-05-25

我也遇到过这种问题
我的感觉是:如果手动删除flv文件(也就表示服务器上没有了这个文件),再运行客户端,就不会抛出NetStream.Play.StreamNotFound消息,然后必须重新启动服务器,才会有这个事件。不知道什么原因...
希望有朋友来解答

作者: noahgenius   发布时间: 2006-05-25

wlxhhr在上个帖子中说
引用:
可关键他不管该文件是否存在都会有NetStream.Play.Reset,那这叫我如何判断该文件到底有还是没有呢?
那你把那段代码写在服务器端脚本里嘛...

写在asc里可以的.

:D
另:11楼的哥们好火爆.哈哈

作者: Digi   发布时间: 2006-05-25

to williamy:我没有远程服务器的操作权限,我不脱裤子,根本连屁都放不出...

to luar:我试过很多遍,没有出现过NetStream.Play.StreamNotFound

不管有没有该文件,NetStream.onStatus的code都是
NetStream.Play.Reset
NetStream.Play.Start
如果该文件存在会继续trace出其他code
NetStream.Buffer.Full
NetStream.Play.Stop
....

作者: wlxhhr   发布时间: 2006-05-25

既然你都没有操作服务器的权,那么你怎么可能得到服务器的信息?
比如:你怎么知道你是无法连接一个服务器还是服务器上这个文件不存在?
因为服务器方没有放置响应你的请求的文件,那么为什么需要对你的请求作出处理?

作者: williamy   发布时间: 2006-05-25

williamy在上个帖子中说
引用:
既然你都没有操作服务器的权,那么你怎么可能得到服务器的信息?
比如:你怎么知道你是无法连接一个服务器还是服务器上这个文件不存在?
因为服务器方没有放置响应你的请求的文件,那么为什么需要对你的请求作出处理?
自己连下FLASH MEDIA SERVER就知道了...

作者: Digi   发布时间: 2006-05-26

能不能连上服务器用NetConnection.onStatus就可以...

大家不要偏离我原始的问题...

作者: wlxhhr   发布时间: 2006-05-26

楼主,你这个问题解决了没?分享下解决方法嘛~

作者: hjhj1110   发布时间: 2011-07-28