NetStream 类提供了四个用于控制视频播放的主要方法:
pause():暂停播放视频流。如果视频已经暂停,则调用此方法将不会执行任何操作。
resume():恢复播放已暂停的视频流。如果视频已在播放,则调用此方法将不会执行任何操作。
seek():搜索与指定位置(从流的开始处算起的偏移,以秒为单位)最靠近的关键帧。
togglePause():暂停或恢复播放流。
注: 没有 stop() 方法。为了停止视频流,必须暂停播放并找到视频流的开始位置。
注: play() 方法不会恢复播放,它用于加载视频文件。
以下示例演示如何使用多个不同的按钮控制视频。若要运行下面的示例,请创建一个新文档,并在工作区中添加 4 个按钮实例(pauseBtn、playBtn、stopBtn 和 togglePauseBtn):
var nc:NetConnection = new NetConnection();
nc.connect(null);
var ns:NetStream = new NetStream(nc);
ns.addEventListener(AsyncErrorEvent.ASYNC_ERROR, asyncErrorHandler);
ns.play("video.flv");
function asyncErrorHandler(event:AsyncErrorEvent):void
{
// ignore error
}
var vid:Video = new Video();
vid.attachNetStream(ns);
addChild(vid);
pauseBtn.addEventListener(MouseEvent.CLICK, pauseHandler);
playBtn.addEventListener(MouseEvent.CLICK, playHandler);
stopBtn.addEventListener(MouseEvent.CLICK, stopHandler);
togglePauseBtn.addEventListener(MouseEvent.CLICK, togglePauseHandler);
function pauseHandler(event:MouseEvent):void
{
ns.pause();
}
function playHandler(event:MouseEvent):void
{
ns.resume();
}
function stopHandler(event:MouseEvent):void
{
// Pause the stream and move the playhead back to
// the beginning of the stream.
ns.pause();
ns.seek(0);
}
function togglePauseHandler(event:MouseEvent):void
{
ns.togglePause();
}
播放视频的同时单击 pauseBtn 按钮实例会导致视频文件暂停。如果视频已经暂停,则单击此按钮不会执行任何操作。如果之前暂停了播放,则单击 playBtn 按钮实例会恢复视频播放;如果视频已在播放,则单击该按钮不会执行任何操作。