Actionscript 3 我如何知道视频的长度(外部FLV视频)?
我如何知道视频的长度(外部FLV视频) 我尝试了几种方法,但结果是Actionscript 3 我如何知道视频的长度(外部FLV视频)?,actionscript-3,flash,Actionscript 3,Flash,我如何知道视频的长度(外部FLV视频) 我尝试了几种方法,但结果是0 videonya.addEventListener(fl.video.VideoEvent.READY, onFlvPlayback_READY); function onFlvPlayback_READY(event:fl.video.VideoEvent):void { var metaDataObj:Object = videonya.metadata as Object; trace("metaDat
0
videonya.addEventListener(fl.video.VideoEvent.READY, onFlvPlayback_READY);
function onFlvPlayback_READY(event:fl.video.VideoEvent):void
{
var metaDataObj:Object = videonya.metadata as Object;
trace("metaDataObj.duration: "+metaDataObj.duration);
}
播放视频和访问元数据的标准方式如下:
var nc:NetConnection = new NetConnection();
nc.connect(null);
var ns:NetStream = new NetStream(nc);
ns.client = this;
ns.play("video.flv");
var vid:Video = new Video();
vid.attachNetStream(ns);
addChild(vid);
function onMetaData(infoObject:Object):void
{
var key:String;
for (key in infoObject)
{
trace(key + ": " + infoObject[key]);
}
}
这将跟踪所有元数据代码,包括持续时间。如果只需要持续时间:
trace(infoObject.duration)代码>当然是在onMetaData(infoObject)
函数中。为什么不在独立播放器中播放视频,并从播放头位置读取长度?我需要知道视频的长度,以便在我的flash项目中执行其他功能。谢谢Craig,我在我的项目中尝试了你的代码,但持续时间=0。持续时间:0 VideoCodeId:2 videosize:1148997文件大小:1313731 videodatarate:415 audiosize:164460宽度:320 AudioCodeId:2嗯,代码是正确的,而您的视频有点错误。“videocodeid:2”表示您的视频使用H.263编解码器进行编码,该编解码器是一种旧编解码器(主要用于视频会议),在Flash中已被正式弃用。它可能没有包含持续时间元数据。您应该尝试将其转换为H.264(不太确定使用哪种软件)。你能重新编码原始(本机格式)编辑的视频吗?我应该更直接一些:Flash不支持h.263。当你测试你的.fla时,你真的能看到视频吗?是的,我能看到视频。。六羟甲基三聚氰胺六甲醚。。。我需要转换到其他设置吗?听起来你已经达到了。1:14==74秒。你的mp4是用h.264编码的,对吗?这是目前Flash的最佳编解码器。您可能知道,您也可以使用较旧的On2VP6编解码器和一些其他战斧,但我想不出一个好的理由。