Flash Actionscript-视频播放器帮助!-闪光
几天来,我一直在想如何在flash中播放视频,但我几乎一无所获。我有下面的代码,但不知道还有什么可以让它工作。有人能帮忙吗Flash Actionscript-视频播放器帮助!-闪光,flash,actionscript,video-streaming,netstream,Flash,Actionscript,Video Streaming,Netstream,几天来,我一直在想如何在flash中播放视频,但我几乎一无所获。我有下面的代码,但不知道还有什么可以让它工作。有人能帮忙吗 var conn:NetConnection = new NetConnection(); conn.connect(null); var nstream:NetStream = new NetStream(conn); nstream.setBufferTime(10); trailer.attach(nstream); nstream.play("arthur.fl
var conn:NetConnection = new NetConnection();
conn.connect(null);
var nstream:NetStream = new NetStream(conn);
nstream.setBufferTime(10);
trailer.attach(nstream);
nstream.play("arthur.flv");
预告片被添加到舞台上了吗?像这样:
var trailer = new Video();
trailer.attachNetStream(nstream);
addChild(trailer);
nstream.addEventListener(AsyncErrorEvent.ASYNC_ERROR, asyncErrorHandler);
nstream.play("video.flv");
function asyncErrorHandler(event:AsyncErrorEvent):void{
trace(event);
}
nstream.addEventListener(NetStatusEvent.NET_STATUS, netStatusHandler);
conn.addEventListener(NetStatusEvent.NET_STATUS, netStatusHandler);
conn.addEventListener(SecurityErrorEvent.SECURITY_ERROR, securityErrorHandler);
function netStatusHandler(event:NetStatusEvent):void {
switch (event.info.code) {
case "NetConnection.Connect.Success":
connectStream();
break;
case "NetStream.Play.StreamNotFound":
trace("Unable to locate video: " + videoURL);
break;
}
}
function securityErrorHandler(event:SecurityErrorEvent):void {
trace("securityErrorHandler: " + event);
}
您还检查过NetStream没有产生错误吗?像这样:
var trailer = new Video();
trailer.attachNetStream(nstream);
addChild(trailer);
nstream.addEventListener(AsyncErrorEvent.ASYNC_ERROR, asyncErrorHandler);
nstream.play("video.flv");
function asyncErrorHandler(event:AsyncErrorEvent):void{
trace(event);
}
nstream.addEventListener(NetStatusEvent.NET_STATUS, netStatusHandler);
conn.addEventListener(NetStatusEvent.NET_STATUS, netStatusHandler);
conn.addEventListener(SecurityErrorEvent.SECURITY_ERROR, securityErrorHandler);
function netStatusHandler(event:NetStatusEvent):void {
switch (event.info.code) {
case "NetConnection.Connect.Success":
connectStream();
break;
case "NetStream.Play.StreamNotFound":
trace("Unable to locate video: " + videoURL);
break;
}
}
function securityErrorHandler(event:SecurityErrorEvent):void {
trace("securityErrorHandler: " + event);
}
编辑:您还检查了网络状态和安全错误吗?像这样:
var trailer = new Video();
trailer.attachNetStream(nstream);
addChild(trailer);
nstream.addEventListener(AsyncErrorEvent.ASYNC_ERROR, asyncErrorHandler);
nstream.play("video.flv");
function asyncErrorHandler(event:AsyncErrorEvent):void{
trace(event);
}
nstream.addEventListener(NetStatusEvent.NET_STATUS, netStatusHandler);
conn.addEventListener(NetStatusEvent.NET_STATUS, netStatusHandler);
conn.addEventListener(SecurityErrorEvent.SECURITY_ERROR, securityErrorHandler);
function netStatusHandler(event:NetStatusEvent):void {
switch (event.info.code) {
case "NetConnection.Connect.Success":
connectStream();
break;
case "NetStream.Play.StreamNotFound":
trace("Unable to locate video: " + videoURL);
break;
}
}
function securityErrorHandler(event:SecurityErrorEvent):void {
trace("securityErrorHandler: " + event);
}
看起来您忘记了一个关键部分,您需要在网络连接成功后将NetStream添加到视频对象
var connection = new NetConnection();
connection.addEventListener(NetStatusEvent.NET_STATUS, netStatusHandler);
function netStatusHandler(event:NetStatusEvent):void {
switch (event.info.code) {
case "NetConnection.Connect.Success":
connectStream();
break;
case "NetStream.Play.StreamNotFound":
trace("Stream not found: " + videoURL);
break;
}
}
function connectStream():void {
stream = new NetStream(connection);
stream.addEventListener(NetStatusEvent.NET_STATUS, netStatusHandler);
stream.client = new CustomClient();
var video:Video = new Video();
video.attachNetStream(stream);
stream.play(videoURL);
addChild(video);
}
请看一下AS3 NetStream文档。有很多信息和例子可以帮助您上路。到底是什么问题?你的视频对象是可见的,但只是黑色的,什么也没有发生吗?你已经设法让它工作了。我不知道我做了什么,但它起作用了,所以我很高兴:)