Код AS3:
package
{
import fl.controls.Button;
import flash.display.Sprite;
import flash.events.Event;
import flash.events.MouseEvent;
import flash.events.ProgressEvent;
import flash.media.Video;
import flash.net.NetConnection;
import flash.net.NetStream;
import flash.filesystem.File;
import flash.filesystem.FileStream;
import flash.filesystem.FileMode;
import flash.utils.ByteArray;
public class TestSeek extends Sprite
{
private var _video:Video
var netStream:NetStream
var connection:NetConnection
public function TestSeek()
{
this.addEventListener(Event.ENTER_FRAME, firstEnterframeHandler);
}
public function firstEnterframeHandler(e:Event):void {
this.removeEventListener(Event.ENTER_FRAME, firstEnterframeHandler);
(this["seekLeft"] as Button).addEventListener(MouseEvent.MOUSE_UP, seekLeftHandler);
(this["seekRight"] as Button).addEventListener(MouseEvent.MOUSE_UP, seekRightHandler);
_video = new Video();
connection = new NetConnection();
connection.client = this;
connection.connect(null);
netStream = new NetStream(connection);
netStream.client = this;
netStream.play(null);
var file:File = new File("c:/bikes.flv");
var f:FileStream = new FileStream();
f.addEventListener(ProgressEvent.PROGRESS, progressEventHandler);
f.openAsync(file, FileMode.READ);
_video.attachNetStream(netStream);
this.addChild(_video);
}
public function onMetaData (info:Object):void {
}
public function onXMPData (info:Object):void {
}
private function progressEventHandler(e:ProgressEvent):void
{
var byteArray:ByteArray = new ByteArray();
(e.target as FileStream).readBytes(byteArray);
netStream.appendBytes(byteArray);
}
private function seekRightHandler(e:MouseEvent):void
{
netStream.seek(netStream.time-3)
}
private function seekLeftHandler(e:MouseEvent):void
{
netStream.seek(netStream.time+3)
}
}
}
Код. При Seek он не работает - почему?