Flash Flv播放playheadupdate间隔(毫秒),即搜索到非关键帧
我无法捕捉毫秒范围内的playhead更新事件。这与加载的FLV电影的FLV播放有关。 根据文档,seek()函数寻找关键帧,它需要时间作为输入,精度为毫秒。 我有一个名为“下一帧”的函数,在该函数中,我暂停视频并尝试查找给定的播放时间Flash Flv播放playheadupdate间隔(毫秒),即搜索到非关键帧,flash,actionscript-3,flv,flvplayback,seek,Flash,Actionscript 3,Flv,Flvplayback,Seek,我无法捕捉毫秒范围内的playhead更新事件。这与加载的FLV电影的FLV播放有关。 根据文档,seek()函数寻找关键帧,它需要时间作为输入,精度为毫秒。 我有一个名为“下一帧”的函数,在该函数中,我暂停视频并尝试查找给定的播放时间 function onNextFrame(event:Event) { if (video1.playing) { video1.stop(); } play
function onNextFrame(event:Event)
{
if (video1.playing)
{
video1.stop();
}
playHeadTime=Number(playHeadTime.toFixed(2));
trace("Calling nextFrame :::",playHeadTime);
trace(" Before seek ",video1.playheadTime);
video1.seek(playHeadTime);
playHeadTime += 0.1;
}
我还有一个寻道事件,它不会在每次寻道时更新,而是仅在flv视频中出现关键帧时更新
function onseeked(event:Event)
{
trace("seeked",video1.playheadTime);
}
我还有一个playhead更新事件来跟踪playhead的移动
但这不会在使用下一帧函数时更新。只有在视频正常播放时,它才起作用
video1.playheadUpdateInterval = 30;
video1.seekToPrevOffset = 0.01;
video1.addEventListener(VideoEvent.SEEKED,onseeked);
video1.addEventListener(VideoEvent.PLAYHEAD_UPDATE,onPlayHeadUpdate);
function onseeked(event:Event)
{
trace("seeked",video1.playheadTime);
}
我的问题是
- 当视频暂停/停止并查找到某个时间时,我如何以毫秒为单位更新playhead
- 当seek仅对关键帧起作用时,我首先如何更新playhead。如何将寻道设置为非关键帧时间
更新: 即使使用netstream.seek()函数,对该函数的每次连续调用也不会显示video.playheadtime中的更改。其工作方式与video.seek()相同 这种分配也不适用于更改/更新playhead属性
我们如何实现快进/快退操作?检查flv元数据是否有
canseekontime=false
还要检查NetStream.seek(12.222/*毫秒/1000*/)是否适用于同一flv这是否完全取决于编码flv中有多少关键帧?关键帧越多=文件大小越大=搜索的准确性越高,对吗?文档中说搜索将转到最近的关键帧。如果您希望获得更高的精度,则必须搜索到上一个关键帧,播放它,收听播放头更新事件,检查播放头时间,并在播放头时间超过您想要的时间后立即暂停播放。为了提高playhead更新时间的准确性,请将playheadUpdateInterval设置为1000/stage.framerate,因为默认值为四分之一秒(250ms),非常精确。是否在元数据中接收
关键帧=[object object](时间,文件位置)
?跟踪关键帧位置时间戳并使用该时间戳进行搜索?我们不会得到中间人的。快/慢
video.playheadtime=0.1