Вспышка воспроизводит .avi или .mpg4?Если да, то как? - PullRequest
2 голосов
/ 02 июня 2011

Как загрузить и воспроизвести .avi или .mpg4 во Flash? Это возможно?

-> Этот класс может воспроизводить .flv, а также .mp4 .., но для .avi он показывает ошибку "Ошибка # 2044: необработанное NetStatusEvent:. Level = error, code = NetStream.Play.StreamNotFound"

package src {     
    import flash.display.Sprite;     
    import flash.media.Video;     
    import flash.net.NetConnection;     
    import flash.net.NetStream;      
    import flash.events.Event;
    import flash.events.MouseEvent;

        public class vplayer extends Sprite{                 
            public var vid:Video = new Video(1920,1080);
            private var nc:NetConnection = new NetConnection();
            public var ns:NetStream;
            public var listener:Object = new Object();
            private var _duration:Number = 0; 

            public function vplayer():void{             
                addChild(vid);
                nc.connect(null);
                ns = new NetStream(nc);
                vid.attachNetStream(ns);
                listener.onMetaData = metaDataHandler;
                ns.client = listener;           
                //customClient.onCuePoint = cuePointHandler;
            }
            public function playVideo00(vv:String):void{

                ns.play(vv);
            }
            public function stopVideo00():void{
                ns.close();
            }
            /*public function cuePointHandler(infoObject:Object):void {
                trace("cuePoint");
            }*/
            public function metaDataHandler(infoObject:Object):void {
                _duration = infoObject["duration"];
                trace (" Time:  " + infoObject["duration"]);
            }
            public function get duration00():Number {     
                return _duration; 
            }
        } 
}

.. любая помощь?

Ответы [ 3 ]

5 голосов
/ 20 ноября 2012

Если файл является MP4 на потоковом сервере, вам просто нужно добавить префикс имени вашего видеофайла к «mp4:» при выполнении вызова RTMP. Вы должны быть уверены, что добавили его только к реальному видеофайлу, а не к полному URL.

Пример:

Если ваше полное видео находится на rtmp://domain.com/dir/myVideo.mp4, то при вызове функции play() вы бы добавили префикс myVideo.mp4.

ns.play("mp4:myVideo");

В зависимости от настроек вашего потокового сервера, вам может понадобиться или не потребоваться расширение файла.

1 голос
/ 02 июня 2011

Расширение файла на самом деле не так много значит.AVI, QuickTime и т. Д. Являются контейнерными форматами, и форматы аудио- и видеопотоков (т. Е. Кодеки) внутри них могут различаться.В некоторых случаях формат контейнера также может быть разным.

В статье Flash Video в Википедии достаточно кратко изложены сведения о том, что можно воспроизводить в какой версии Flash Player.

Что касается воспроизведения видео, вы можете либо создать свой собственный плеер, используя FLVPlayback , либо использовать обычный плеер, такой как FlowPlayer .

1 голос
/ 02 июня 2011

этот пример может воспроизводить .mp4 файлы

...