我对动作脚本3有疑问。我有一个flv视频,它的总时间是6秒。我想用seekSeconds()从2.秒开始。如果我在seekSeconds中写入大于6的值,它将只播放从头到尾的视频。如果我写的小于6,它将无法工作。我可以在seekSeconds()中写什么来从2秒开始播放视频? / p>
function useParams()
{
var obj:Object = new Object();
var j;
for (j in this.myParams)
{
if (j == "url")
{
src = this.myParams[j];
}
else if (j=="bas")
{
startTime = int(this.myParams[j]);
}
else
{
stopTime = int(this.myParams[j]);
}
txt.text += j + " - " + this.myParams[j];
}
//fk.source = src;
txt.text = String(startTime);
}
fk.addEventListener(VideoEvent.READY, bitti);
function bitti(eventObject:VideoEvent):void
{
//fk.play();
trace(fk.totalTime);
fk.seek(2);
trace(fk.playheadTime);
//trace(fk.playheadTime);
}
答案 0 :(得分:0)
根据VideoPlayer的文档,调度Event.READY:
加载FLV文件并准备显示时调度的事件。它在您使用play()或load()方法加载新的FLV文件后第一次进入响应状态时启动。它只为每个加载的FLV文件启动一次。
视频可能已准备好,但尚未进行足够的缓冲以供搜索。您可以将bufferTime更改为大于2的值,但我不确定是否会保证Event.READY会在您需要时被解雇。另请注意寻求渐进式下载的属性:
对于渐进式下载,您只能搜索关键帧;因此,搜索会将您带到指定时间后第一个关键帧的时间。
因此,请确保设置一个足够高级的缓冲时间2秒,以确保传递关键帧。
注意: VideoPlayer和NetStream上都有一个bufferTime,因此您可能需要调整其中一个或两个。