Загрузка и воспроизведение видео с использованием ActionScript 3.0
Вспомним, что нам нужно было для того, чтобы воспроизвести FLV файл с помощью Flash. В ActionScript 2.0 нужно было выполнить следующую последовательность действий:
1. Создать новый объект Video в вашей библиотеке (выбрать New Video в меню опций библиотеки);
2. Перетащить объект Video на сцену и дать имя экземпляру;
3. Добавить в первый кадр код.
Например такой:
var nc:NetConnection = new NetConnection();
nc.connect(null);
var ns:NetStream = new NetStream(nc);
ns.onMetaData = function(item:Object):Void {
trace("metaData");
// Устанавливаем размеры видео.
myVideo._width = item.width;
myVideo._height = item.height;
// Центрируем видео на сцене.
myVideo._x = (Stage.width-myVideo._width)/2;
myVideo._y = (Stage.height-myVideo._height)/2;
};
ns.onCuePoint = function(item:Object):Void {
trace("cuePoint");
trace(item.name+"\t"+item.time);
};
myVideo.attachVideo(ns);
ns.play("http://www.helpexamples.com/flash/video/cuepoints.flv");
Код на ActionScript 3.0 в целом выглядит так же... только нам не нужно добавлять никаких компонентов в библиотеку и вообще писать на "чистом AS3" и компилировать с помощью Flex SDK. Смотрим:
package {
import flash.display.Sprite;
import flash.media.Video;
import flash.net.NetConnection;
import flash.net.NetStream;
/**
* @author Michael Yesutin
*/
public class Main extends Sprite {
private var video : Video;
private var nc : NetConnection;
private var ns : NetStream ;
public function Main() {
video = new Video();
addChild(video);
nc = new NetConnection();
nc.connect(null);
ns = new NetStream(nc);
ns.client = {onMetaData:ns_onMetaData, onCuePoint:ns_onCuePoint};
video.attachNetStream(ns);
ns.play("http://www.helpexamples.com/flash/video/cuepoints.flv");
}
private function ns_onMetaData(item : Object) : void {
trace("metaData");
// Устанавливаем размеры видео.
video.width = item.width;
video.height = item.height;
// Центрируем видео на сцене.
video.x = (stage.stageWidth - video.width) / 2;
video.y = (stage.stageHeight - video.height) / 2;
}
private function ns_onCuePoint(item : Object) : void {
trace("cuePoint");
trace(item.name + "\t" + item.time);
}
}
}
У меня это не работает.
Я взял др. пример
В данном примере динамически создается экземпляр FLVPlayback.
Чтобы применить этот пример на практике, выполните следующие действия.
Поместите компонент FLVPlayback на рабочий стол в положение 0,0 и задайте экземпляру имя player
Введите вместо videoPath абсолютный или относительный путь к FLV-файлу.
Сохраните этот код под именем FLVPlaybackExample.as в том же каталоге, что и FLA-файл.
Присвойте классу Document в FLA-файле значение FLVPlaybackExample.
package
{
import fl.video.FLVPlayback;
import flash.display.Sprite;
public class FLVPlaybackExample extends Sprite {
private var videoPath:String = «http://www.helpexamples.com/flash/video/caption_video.flv»;
public function FLVPlaybackExample() {
player.source = videoPath;
player.skinBackgroundColor = 0x666666;
player.skinBackgroundAlpha = 0.5;
}
}
}
to Alex.
Не понятно, какой код сохранить. Где должен быть компонент FLVPlayback, в каком документе?
Спасибо, очень нужна вещь!!!
Да херня какая-то… напишите как с нуля свой видеоплеер запрограммировать на сайт при помощи AS3.0, тогда респект выложу