video加载出错

藤叶香来 2010-03-03 10:47:36
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" click="addVideo()">
<mx:Script>
<![CDATA[
public var videoURL:String="http://www.tudou.com/l/wh18hw40H_0";
public function addVideo():void{
var connection:NetConnection=new NetConnection();
connection.connect(null);
var stream:NetStream=new NetStream(connection);
var flexVideo:Video=new Video(320,240);
flexVideo.attachNetStream(stream);
stream.play(videoURL);
stage.addChild(flexVideo);
}
]]>
</mx:Script>
</mx:Application>


报错,如下:
Error #2044: 未处理的 NetStatusEvent:。 level=error, code=NetStream.Play.StreamNotFound
at videoStu/addVideo()[D:\FlexProject\studyExample\src\videoStu.mxml:9]
at videoStu/___videoStu_Application1_click()[D:\FlexProject\studyExample\src\videoStu.mxml:2]


请问是什么原因??
...全文
298 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
syeia 2010-03-04
  • 打赏
  • 举报
回复
只用的它的话,好像不能解决.

给你说过 "Video 不会换成UIComponent对象的. "

所以 也不能像其它UIComponent 那样被 addChild


现在的问题 是 你如何把 Video 转成 UIComponent

你如果转成 UIComponent, 那你加在任何容器中都行.

藤叶香来 2010-03-04
  • 打赏
  • 举报
回复
引用 3 楼 syeia 的回复:
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"
layout="absolute"
creationComplete="init()">
<mx:Script>
<![CDATA[
public var videoURL:String="a.flv";

import mx.utils.ObjectUtil;

private var nc:NetConnection;
private var ns:NetStream;
private var video:Video;
private var meta:Object;

private function init():void
{
var nsClient:Object={};
nsClient.onMetaData=ns_onMetaData;
nsClient.onCuePoint=ns_onCuePoint;

nc=new NetConnection();
nc.connect(null);

ns=new NetStream(nc);
ns.play(videoURL);
ns.client=nsClient;
video=new Video();
video.attachNetStream(ns);
v_Display.addChild(video);
}

private function ns_onMetaData(item:Object):void
{
trace("meta");
meta=item;
video.width=item.width;
video.height=item.height;
trace(ObjectUtil.toString(item));
}

private function ns_onCuePoint(item:Object):void
{
trace("cue");
}
]]>
</mx:Script>
<mx:VideoDisplay id="v_Display"
width="320"
height="240"/>

</mx:Application>


看帮助做了一个.

如果是swf 文件,就会出那个错误.

// 创建回调函数的对象 var customClient:Object = new Object(); customClient.onMetaData = metaDataHandler;

就是这个地方.

另外:
  stage.addChild(flexVideo);

好像也有问题,
Video 不会换成UIComponent对象的.
必须同VideoDisplay  才能加载到Application 中.



貌似如果用videoDisplay 的话,不必再用video类播放flv文件的,videoDisplay 直接就可以播放哦~呵呵,我现在想知道如果只用video类的话,怎么解决,是因为player10的原因吗?找不到playglobal.swc??
syeia 2010-03-03
  • 打赏
  • 举报
回复
NetStream 是用来播放影片格式的,估计swf不支持.

你找个flv试试.
syeia 2010-03-03
  • 打赏
  • 举报
回复
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"
layout="absolute"
creationComplete="init()">
<mx:Script>
<![CDATA[
public var videoURL:String="a.flv";

import mx.utils.ObjectUtil;

private var nc:NetConnection;
private var ns:NetStream;
private var video:Video;
private var meta:Object;

private function init():void
{
var nsClient:Object={};
nsClient.onMetaData=ns_onMetaData;
nsClient.onCuePoint=ns_onCuePoint;

nc=new NetConnection();
nc.connect(null);

ns=new NetStream(nc);
ns.play(videoURL);
ns.client=nsClient;
video=new Video();
video.attachNetStream(ns);
v_Display.addChild(video);
}

private function ns_onMetaData(item:Object):void
{
trace("meta");
meta=item;
video.width=item.width;
video.height=item.height;
trace(ObjectUtil.toString(item));
}

private function ns_onCuePoint(item:Object):void
{
trace("cue");
}
]]>
</mx:Script>
<mx:VideoDisplay id="v_Display"
width="320"
height="240"/>

</mx:Application>


看帮助做了一个.

如果是swf 文件,就会出那个错误.

// 创建回调函数的对象
var customClient:Object = new Object();
customClient.onMetaData = metaDataHandler;


就是这个地方.

另外:
stage.addChild(flexVideo);

好像也有问题,
Video 不会换成UIComponent对象的.
必须同VideoDisplay 才能加载到Application 中.

藤叶香来 2010-03-03
  • 打赏
  • 举报
回复
我试了一下,还是不行呀~

4,328

社区成员

发帖
与我相关
我的任务
社区描述
多媒体/设计 Flex
社区管理员
  • Flex
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧