Всем доброго время суток.
Гружу локальный flv и атачу его в нетстрим через appendBytes но ни как не могу перематывать видео. Получается только воспроизвести заново. Гугл изучил и перепробовал все до китайских ссылок. Уверен кто-то из Вас работал или хотя бы понимает в чем проблема. Привожу код и видеоролик во вложении для хороших людей которые хотят помочь.

Код AS3:
package {
import flash.display.Sprite;
import flash.net.URLLoader;
import flash.net.URLLoaderDataFormat;
import flash.net.URLRequest;
import flash.events.Event;
import flash.display.Loader;
import flash.utils.ByteArray;
import flash.media.Video;
import flash.net.NetConnection;
import flash.net.NetStream;
import flash.events.NetStatusEvent;
import flash.events.IOErrorEvent;
import flash.events.SecurityErrorEvent;
import flash.net.NetStreamAppendBytesAction;
import flash.events.MouseEvent;
public class Main extends Sprite {
public function Main() {
var _loader:URLLoader = new URLLoader();
_loader.dataFormat = URLLoaderDataFormat.BINARY;
_loader.addEventListener(Event.COMPLETE, onResultDownload);
_loader.load(new URLRequest("c:\\1.flv"));
stage.addEventListener(MouseEvent.MOUSE_DOWN, click );
}
private function click(eve:Event):void {
ns.seek(3);
}
private var ns:NetStream;
private var _client: Object = new Object();
private var _bytes:ByteArray;
private function onResultDownload(event:Event):void {
var video:Video = new Video();
addChild(video);
var nc:NetConnection = new NetConnection();
nc.connect(null);
ns = new NetStream(nc);
ns.client = _client;
_client.onMetaData = metaDataHandler;
video.attachNetStream(ns);
ns.addEventListener(NetStatusEvent.NET_STATUS, netStatusHandler);
ns.addEventListener(IOErrorEvent.IO_ERROR, function(event:Event) { trace(event) } );
ns.addEventListener(SecurityErrorEvent.SECURITY_ERROR, function(event:Event) { trace(event) } );
_bytes = event.target.data;
ns.play(null);
addChild(video);
ns.appendBytesAction(NetStreamAppendBytesAction.END_SEQUENCE);
ns.appendBytes(_bytes);
}
private function metaDataHandler(info:Object):void
{
for ( var i in info) {
trace(i+" >> "+info[i]);
}
}
private function netStatusHandler(e:NetStatusEvent):void
{
trace(e.info.code);
switch (e.info.code)
{
case "NetStream.Seek.InvalidTime" :
break;
case "NetStream.Play.Stop" :
break;
case "NetStream.Seek.Notify":
ns.appendBytesAction(NetStreamAppendBytesAction.RESET_BEGIN);
ns.appendBytes(_bytes);
break;
}
}
}
}