Доброго вечера, форумчане! Как сделать синхронное воспроизведение двух или несколько видероликов? У меня выдалась ошибка...
Error
строка 1 1180: Вызов предположительно неопределенного метода addFrameScript.
MainPanel_2.as

Код AS3:
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:

Код:
<?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>