我在 stream.bytesTotal 不可用的环境中创建视频播放器。我需要使用 flv 文件中编码的持续时间元数据来推断播放进度和时间显示等内容。
问题是在加载 flv 时,元数据(包括持续时间)在 3 次中有 2 次无法访问。这是遍历元数据对象的函数:-
公共函数 onMetaDataHandler(metadataObj:Object):void {
for (var metadata:Object in metadataObj) {
if (metadata == "duration" ) {
_duration = metadataObj[metadata];
Debug.log('metadata _duration == ' + _duration );
playBackTimeText();
}
if (metadata == "width" ) {
video.width = metadataObj[metadata];
}
if (metadata == "height" ) {
video.height = metadataObj[metadata];
}
Debug.log(metadata + ": " + metadataObj[metadata], 0xffff00);
}
}
这是最好的方法,还是有办法在不重新加载flv的情况下重新加载元数据?