показать размер FLV в текстовом поле

Ниже приведен мой основной код, я загружаю FLV-видео с помощью FLVPlayBack.

мне обязательно нужны функции flvplayback.

Я успешно завершил загрузку FLV-видео.

Теперь я застрял с отображением исходного размера исходных видеофайлов в текстовом поле.

Как следует действовать дальше отсюда. Пожалуйста, направьте меня ......

stage.displayState = StageDisplayState.FULL_SCREEN;
stage.align = StageAlign.TOP_LEFT;
stage.scaleMode = StageScaleMode.NO_SCALE;

import fl.video.*;

stop();

var rmys01:FLVPlayback = new FLVPlayback();
rmys01.source = "rhym01.flv";
rmys01.skin = "MinimaFlatCustomColorPlayBackSeekCounterVolMute.swf";
rmys01.autoPlay = true;
rmys01.fullScreenTakeOver = false;
rmys01.scaleMode = "maintainAspectRatio";
rmys01.setSize((stage.stageWidth/1.03), (stage.stageHeight/1.03));
rmys01.x = (stage.stageWidth/2)  - (rmys01.width/2);
rmys01.y = (stage.stageHeight/1.1) - (rmys01.height/1.1);
addChild(rmys01);
setChildIndex(rmys01,1);

person Chennai Website    schedule 21.03.2014    source источник


Ответы (1)


Вы установили клиент для NetStream? Потому что все работает нормально.

Вот пример:

var nc:NetConnection = new NetConnection();
nc.connect(null);

var ns:NetStream = new NetStream(nc);
var client: Object = {};
client.onMetaData = function(data:Object):void{
    //Display width and height
    var textField: TextField = new TextField();
    textField.autoSize = TextFieldAutoSize.LEFT;
    textField.defaultTextFormat = new TextFormat("Arial", 28);
    textField.text = "Width: " + data.width + ", Height: " + data.height;
    addChild(textField);
}
ns.client = client;
ns.play("path/to/Video");

var myVideo:Video = new Video();
myVideo.attachNetStream(ns);
addChild(myVideo);

В целях отладки поместите трассировку (trace("There is MetaData!");) в обработчик onMetaData, проверьте, срабатывает ли он.

Для FLVPlayback необходимо подписаться на Видеособытие.ГОТОВО:

rmys01.addEventListener(VideoEvent.READY, onReady);

function onReady(e:VideoEvent):void {
    trace("READY");
    var flvPlayback:FLVPlayback = e.target as FLVPlayback;
    var metaData:Object = flvPlayback.metadata as Object;
    trace("height: "+metaData.height);
    trace("width: "+metaData.width);
    trace("duration: "+metaData.duration);
}

Если вы программируете во Flash IDE, возникнет проблема с VideoEvent, поэтому вам следует использовать полностью квалифицированный класс (fl.video.VideoEvent), если нет, IDE попытается решить проблему до flash.events.VideoEvent:

rmys01.addEventListener(fl.video.VideoEvent.READY, onReady);

function onReady(e:fl.video.VideoEvent):void {
    //Handler code
}
person Nicolas Siver    schedule 21.03.2014
comment
Воспроизведение FLV? Вы пытались подписаться на событие VideoEvent.READY? И в случае извлечения метаданных. var metaData:Object = rmys01.metadata as Object; - person Nicolas Siver; 21.03.2014
comment
Я добавил пример FLVPlayback. - person Nicolas Siver; 27.03.2014
comment
Приведенный вами код показал ошибку 1119 с VideoEvent.READY. - person Chennai Website; 27.03.2014
comment
Вы импортировали VideoEvent? - person Nicolas Siver; 27.03.2014
comment
да, я импортировал fl.video.VideoEvent; пожалуйста, объясните подробно в моем новом разделе ответов. Спасибо - person Chennai Website; 28.03.2014