странно что на AS3 никто ничего про это не говорит.
мне тут задача недавно встала создать плеер FLV.
к сожалению так исторически сложилось я с FLV никогда не сталкивался вообще. так что не хочу щас ворошить двойку и попробовать сделать сразу на тройке.
первое что дал F1 это FLVPlayback - но как увидел импорт сразу понял что это не то, так как он требует библиотечных элементов.
единственное что нашёл подходящее это скудный Class Video.
и там здравствуй сново NetStream.
используя пример
Код:
package {
import flash.display.Sprite;
import flash.events.*;
import flash.media.Video;
import flash.net.NetConnection;
import flash.net.NetStream;
public class VideoExample extends Sprite {
private var videoURL:String = "Video.flv";
private var connection:NetConnection;
private var stream:NetStream;
public function VideoExample() {
connection = new NetConnection();
connection.addEventListener(NetStatusEvent.NET_STATUS, netStatusHandler);
connection.addEventListener(SecurityErrorEvent.SECURITY_ERROR, securityErrorHandler);
connection.connect(null);
}
private function netStatusHandler(event:NetStatusEvent):void {
switch (event.info.code) {
case "NetConnection.Connect.Success":
connectStream();
break;
case "NetStream.Play.StreamNotFound":
trace("Unable to locate video: " + videoURL);
break;
}
}
private function connectStream():void {
var stream:NetStream = new NetStream(connection);
stream.addEventListener(NetStatusEvent.NET_STATUS, netStatusHandler);
stream.addEventListener(AsyncErrorEvent.ASYNC_ERROR, asyncErrorHandler);
var video:Video = new Video();
video.attachNetStream(stream);
stream.play(videoURL);
addChild(video);
}
private function securityErrorHandler(event:SecurityErrorEvent):void {
trace("securityErrorHandler: " + event);
}
private function asyncErrorHandler(event:AsyncErrorEvent):void {
// ignore AsyncErrorEvent events.
}
}
}
Я хотел добавить ещё функцию статистики сколько загружено (стандартый статистик бар).
А ещё даже где то видел что тыкнув на не загруженную часть ролика - можно начать грузить заново именно с этого момента.
певое пытался решить поставив 2 дополнительных лисенера на NetStream, но это не помогло - лисенеры глухо молчат =(
в общем посоветуйте пожалуйста кто что знает по этой теме и сталкивался уже.