|
|
« Предыдущая тема | Следующая тема » |
Опции темы | Опции просмотра |
|
|
|||||
Регистрация: Mar 2012
Сообщений: 61
|
Ошибка 1180. Синхронное проигрывание двух видероликов через flvPlayback
Доброго вечера, форумчане! Как сделать синхронное воспроизведение двух или несколько видероликов? У меня выдалась ошибка...
Error строка 1 1180: Вызов предположительно неопределенного метода addFrameScript. MainPanel_2.as package { import flash.net.URLLoader; import flash.net.URLRequest; import flash.events.Event; import flash.events.MouseEvent; import fl.video.FLVPlayback; import flash.display.Sprite; import flash.events.TimerEvent; import flash.utils.Timer; public class MainPanel_2 extends Sprite { private var _counter:uint = 0; private var _videoIndex:uint = 0; private var _myXml:XML; private var _myLoader:URLLoader = new URLLoader(); private var _playStopFlag:Boolean = false; private var _timer: Timer; private var _duration:Number; private var _volume:Number = 100; public function MainPanel_2() { _timer = new Timer(100); _timer.addEventListener(TimerEvent.TIMER, _handlerOnPlaying); _timer.start(); nav.predButton.addEventListener(MouseEvent.CLICK, _handlerPrevVideo); nav.nextButton.addEventListener(MouseEvent.CLICK, _handlerNextVideo); nav.playPauseButton.addEventListener(MouseEvent.CLICK, _handlerPlayPause); nav.playPauseButton.addEventListener(MouseEvent.MOUSE_OVER, _handlerMouseOver); nav.playPauseButton.addEventListener(MouseEvent.MOUSE_OUT, _handlerMouseOut); nav.playPauseButton.buttonMode = true; nav.volumeControl.volumeDownBtn.addEventListener(MouseEvent.CLICK, _handlerVolumeMinus); nav.volumeControl.volumeUpBtn.addEventListener(MouseEvent.CLICK, _handlerVolumePlus); v1.addEventListener(fl.video.MetadataEvent.METADATA_RECEIVED, _handlerMetadataRecived); v2.addEventListener(fl.video.MetadataEvent.METADATA_RECEIVED, _handlerMetadataRecived); _myLoader.addEventListener(Event.COMPLETE, _handlerLoaded); _myLoader.load(new URLRequest("xmls/videos_azbuka_para_glas_2.xml")); } private function _handlerLoaded(event: Event):void{ _myXml = XML(event.target.data); _videoIndex = _myXml.video.length() - 1; _centerAlignAndPlay(); } private function _handlerPrevVideo(event:MouseEvent):void{ if (_counter>0){ _counter--; _centerAlignAndPlay(); }else{ _counter = 3; _centerAlignAndPlay(); } } private function _handlerNextVideo(event:MouseEvent):void{ if (_counter<_videoIndex){ _counter++; _centerAlignAndPlay(); }else{ _counter = 0; _centerAlignAndPlay(); } } private function _centerAlignAndPlay():void { v1.source = _myXml.video[_counter]. @ movie; //v1.width = _myXml.video[_counter]. @ width; //v1.height = _myXml.video[_counter]. @ height; v1.x = 21; v1.y = 105; title_1.text = _myXml.video[_counter]. @ title; v2.source = _myXml.video[_counter]. @ movie; //v2.width = _myXml.video[_counter]. @ width; //v2.height = _myXml.video[_counter]. @ height; v2.x = 480; v2.y = 105; title_2.text = _myXml.video[_counter]. @ title; nav.playPauseButton.gotoAndStop("Pause"); _playStopFlag = false; } private function _handlerMetadataRecived(event:fl.video.MetadataEvent):void{ _duration = Math.floor(v1.metadata["duration"]); var detik: Number = Math.floor(_duration); var menit: Number = Math.floor(detik / 60); detik %= 60; menit %= 60; var display_detik: String = ""; var display_menit: String = ""; if (detik < 10){ display_detik = "0" + detik; }else{ display_detik = "" + detik; } if (menit < 10){ display_menit = "0" + menit; }else{ display_menit = "" + menit; } nav.TimeDisplay.duration_time.text = display_menit + ":" + display_detik; } //=============================================// private function _handlerPlayPause(event:MouseEvent):void{ if(!_playStopFlag){ v1.pause(); v2.pause(); nav.playPauseButton.gotoAndStop("PlayOver"); }else{ v1.play(); v2.play(); nav.playPauseButton.gotoAndStop("PauseOver"); } _playStopFlag = !_playStopFlag; } private function _handlerMouseOver(event:MouseEvent):void{ if(!_playStopFlag){ nav.playPauseButton.gotoAndStop("PauseOver"); }else{ nav.playPauseButton.gotoAndStop("PlayOver"); } } private function _handlerMouseOut(event:MouseEvent):void{ if(!_playStopFlag){ nav.playPauseButton.gotoAndStop("Pause"); }else{ nav.playPauseButton.gotoAndStop("Play"); } } private function _handlerVolumeMinus(event:MouseEvent):void{ if(_volume > 0){ _volume -= 10; }else{ _volume = 0; } v1.volume = _volume/100; v2.volume = _volume/100; nav.volumeControl.volume_info.text = String(_volume) + "%"; } private function _handlerVolumePlus(event:MouseEvent):void{ if(_volume < 100){ _volume += 10; }else{ _volume = 100; } v1.volume = _volume/100; v2.volume = _volume/100; nav.volumeControl.volume_info.text = String(_volume) + "%"; } private function _handlerOnPlaying(event: TimerEvent):void{ var detik: Number = Math.floor(v1.playheadTime); var menit: Number = Math.floor(detik / 60); detik %= 60; menit %= 60; var display_detik: String = ""; var display_menit: String = ""; if (detik < 10){ display_detik = "0" + detik; }else{ display_detik = "" + detik; } if (menit < 10){ display_menit = "0" + menit; }else{ display_menit = "" + menit; } nav.TimeDisplay.played_time.text = display_menit + ":" + display_detik; nav.SeekBar.slider_item.width = (v1.playheadTime / _duration)*200; if (v1.playheadTime >= _duration){ v1.pause(); v1.seek(0); v2.pause(); v2.seek(0); nav.SeekBar.slider_item.width = 200; _playStopFlag = true; nav.playPauseButton.gotoAndStop("Play"); } } } } <?xml version="1.0" encoding="utf-8"?> <videos> <video_tv movie="my_videos/azbuka/1_a.flv" title="А" width="500" height="281" /> <video_tv movie="my_videos/azbuka/31_e.flv" title="Э" width="500" height="281" /> <video_tv movie="my_videos/azbuka/16_o.flv" title="О" width="500" height="281" /> <video_tv movie="my_videos/azbuka/29_y.flv" title="Ы" width="500" height="281" /> <video_tv movie="my_videos/azbuka/21_u.flv" title="У" width="500" height="281" /> </videos> <videos> <video_m movie="my_videos/azbuka/33_ya.flv" title="Я" width="500" height="281" /> <video_m movie="my_videos/azbuka/6_ye.flv" title="Е" width="500" height="281" /> <video_m movie="my_videos/azbuka/7_yo.flv" title="Ё" width="500" height="281" /> <video_m movie="my_videos/azbuka/10_i.flv" title="И" width="500" height="281" /> <video_m movie="my_videos/azbuka/32_yu.flv" title="Ю" width="500" height="281" /> </videos> |
|
|||||
Регистрация: Mar 2012
Сообщений: 61
|
Что за метод addFrameScript? - не пойму я...
Я чувствую, проблема в XML, но пока не могу разобраться... на флэше два ролика, одновременно они проигрываются. В одном ролике проигрываются те видеофайлы из одного блока XML, в другом - из другого блока. Как сделать так, чтобы они в таком порядке проигрываются: например, А-Я, О-Ё, У-Ю, ... |
|
|||||
Цитата:
У вас в пером кадре на сцене написан код, хоть он и закомментирован. А так как ваш документ класс наследуется от Sprite, у которого нет кадров, то код в кадре на сцене и вызывает ошибку. |
|
|||||
Регистрация: Mar 2007
Сообщений: 319
|
нужно наследоваться от MovieClip
если хочешь и в кадрах код и в классе и по спецификации XML допустима только одна корневая нода документа <?xml version="1.0" encoding="utf-8"?> <videos> <video_tv movie="my_videos/azbuka/1_a.flv" title="А" width="500" height="281" /> <video_tv movie="my_videos/azbuka/31_e.flv" title="Э" width="500" height="281" /> <video_tv movie="my_videos/azbuka/16_o.flv" title="О" width="500" height="281" /> <video_tv movie="my_videos/azbuka/29_y.flv" title="Ы" width="500" height="281" /> <video_tv movie="my_videos/azbuka/21_u.flv" title="У" width="500" height="281" /> <video_m movie="my_videos/azbuka/33_ya.flv" title="Я" width="500" height="281" /> <video_m movie="my_videos/azbuka/6_ye.flv" title="Е" width="500" height="281" /> <video_m movie="my_videos/azbuka/7_yo.flv" title="Ё" width="500" height="281" /> <video_m movie="my_videos/azbuka/10_i.flv" title="И" width="500" height="281" /> <video_m movie="my_videos/azbuka/32_yu.flv" title="Ю" width="500" height="281" /> </videos> |
Часовой пояс GMT +4, время: 05:14. |
|
« Предыдущая тема | Следующая тема » |
Опции темы | |
Опции просмотра | |
|
|