如何从as3中的特定秒开始播放视频

时间:2010-06-18 10:54:17

标签: actionscript-3 video flvplayback

我对动作脚本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);
}

1 个答案:

答案 0 :(得分:0)

根据VideoPlayer的文档,调度Event.READY:

  

加载FLV文件并准备显示时调度的事件。它在您使用play()或load()方法加载新的FLV文件后第一次进入响应状态时启动。它只为每个加载的FLV文件启动一次。

视频可能已准备好,但尚未进行足够的缓冲以供搜索。您可以将bufferTime更改为大于2的值,但我不确定是否会保证Event.READY会在您需要时被解雇。另请注意寻求渐进式下载的属性:

  

对于渐进式下载,您只能搜索关键帧;因此,搜索会将您带到指定时间后第一个关键帧的时间。

因此,请确保设置一个足够高级的缓冲时间2秒,以确保传递关键帧。

注意: VideoPlayer和NetStream上都有一个bufferTime,因此您可能需要调整其中一个或两个。