2011-01-09 1 views
4

Я разрабатываю веб-приложение в flex, которое имеет функцию записи времени выполнения, имея моментальный снимок каждого кадра, затем кодируя его в ByteArray для воспроизведения видео.Как играть в формате FLV в формате byteArray в OSMF?

В настоящее время я использую NetStream.appendBytes() для воспроизведения ByteArray FLV. Он работает, но я только что узнал об OSMF и думал, что он интегрирует его в мое приложение.

Возможно ли воспроизвести FLV byteArray в OSMF? Пример того, как это можно сделать, будет совершенно отличным. благодаря!

ответ

4

Теперь я могу проигрывать flv bytearrays в OSMF. Раньше я уже мог играть byteArray, создавая новый класс, который расширяет netStream и отменяет его метод воспроизведения вместо использования appendbytes. Так что я сделал, чтобы OSMF использовал его. Я сделал это создание этих классов: 1. ByteStreamElement - медиа элемент 2. ByteStreamLoader - расширяет LoaderBase 3. ByteStreamLoadTrait - расширяет LoadTrait

переопределяете netstremas искать/метод игры:

//manually dispatch seek event since we override seek() 
dispatchEvent(new NetStatusEvent(NetStatusEvent.NET_STATUS,false,false, {code:"NetStream.Play.Seek", level:"status"})); 

//look for byte position based on _seekTime value 
flvStream = _sfw.getFlvStream(false); 
_seekTime = parameters[1] * 1000; //netstream time in milliseconds 
_flvParser.parse(flvStream, false, flvTagSeeker); 
flvStream.position = _flvParserProcessed; 

//append flvtag from the new byte position to end of flv byteArray 
var tmp:ByteArray = new ByteArray(); 
flvStream.readBytes(tmp, 0, flvStream.bytesAvailable); 
_flvParserProcessed = 0; 
this.appendBytesAction(NetStreamAppendBytesAction.RESET_SEEK); 
appendBytes(tmp) 

И использовать его как это:

mediaPlayerSprite = new MediaPlayerSprite(); 
addChild(mediaPlayerSprite); 
mediaPlayerSprite.media = new ByteStreamElement(); 

Im действительно не уверен, хотя если это лучший способ это сделать. Не уверен, что лучше всего я создал новые классы, или я должен был написать какой-то плагин для OSMF, чтобы использовать для воспроизведения bytearrays. И еще одно, что мне действительно нужно, это в случае необходимости добавлять в проигрыватель в случае необходимости. Вот почему я все еще не использую это и для среднего времени. Я придерживаюсь своего пользовательского «ByteStream player», пока не выясню это.

+1

Не могли бы вы предоставить весь код, который вы использовали для архивирования этого результата? –