【问题标题】:how can i start a video from a specific second in as3如何从 as3 中的特定秒开始播放视频
【发布时间】:2010-06-18 10:54:16
【问题描述】:

我对动作脚本 3 有疑问。我有一个 flv 视频,其总时长为 6 秒。我想用 seekSeconds() 从 2. 秒开始。如果我在 seekSeconds 中写入大于 6 的值,它只会从头到尾播放视频。如果我写小于 6,它将不起作用。我可以在 seekSeconds() 中写入什么以从 2 秒开始播放视频?

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);
}

【问题讨论】:

    标签: actionscript-3 video flvplayback


    【解决方案1】:

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

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

    视频可能已准备就绪,但尚未缓冲到足够的量以供搜索。您可以将 bufferTime 更改为大于 2 的值,尽管我不确定这是否能保证 Event.READY 会在您需要的时候被触发。还要注意寻求渐进式下载的属性:

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

    因此,请确保您设置的 bufferTime 足够提前 2 秒,以确保您通过了关键帧。

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

    【讨论】:

    • 谢谢,我还有一个问题。我使用 seekSeconds() 从特定时间开始视频。但是当我写 seekSeconds(1)、seekSeconds(2)、seekSeconds(3)、seekSeconds(4) 和 seekSeconds(5) 时,视频从第五秒开始。当我从第 5 秒到第 15 秒写 seekSeconds() 视频开始第 15 秒。我该如何解决这个问题。感谢您的帮助
    猜你喜欢
    • 2022-07-22
    • 2015-11-05
    • 1970-01-01
    • 2012-01-29
    • 2022-12-14
    • 1970-01-01
    • 2023-04-08
    • 1970-01-01
    • 2013-07-20
    相关资源
    最近更新 更多