PDA

Просмотр полной версии : MediaDisplay и Listener


Yukagir
15.02.2007, 13:34
Добрый день.
В разные разделы сайта подгружаются разные бэковые mp3 с помощью MediaDisplay. В одном случае, звуки должны быть зацикленные, в другом нет
Для этого я написал функцию, которая стоит на кнопке перехода.
function sndloop(){
if((sound_next=="index")||(sound_next=="contacts")){
var looplistener:Object = new Object();
looplistener.complete = function(eventObj:Object) {
bg_sound.bs_media.play(0);
};
bg_sound.bs_media.addEventListener("complete", looplistener);
}else{
var looplistener:Object = new Object();
looplistener.complete = function(eventObj:Object) {
bg_sound.bs_media.stop();
};
bg_sound.bs_media.addEventListener("complete", looplistener);
}
}
работает, к сожалению, только зацикливание.
я пробовал решить проблему вариантом назначения на плеер зацикливания, а на нужной кнопке добавить код
bg_sound.bs_media.removeEventListener("complete", looplistener);
но это, к сожалению, тоже не работает.

Подскажите, пожалуйста, варианты решения проблемы.

Заранее спасибо.

Apeyron
16.02.2007, 14:02
А может попробуете создать экземпляр класса Sound?
Что то вроде этого
var musicFon = new Sound();
musicFon.attachSound("fon");
this.onEnterFrame = function() {
if (musicFon.duration == musicFon.position) {
musicFon.start();
}
}

Yukagir
16.02.2007, 16:09
спасибо. только sound не даст потокового воспроизведения. я уже решил задачу. код оказался намного проще, нежели я предполагал.

function sndloop(){
bg_sound.bs_media.complete = function(){
bg_sound.bs_media.play(0);
bg_sound.bs_media.activePlayControl = "pause";
}
}
function sndstop(){
bg_sound.bs_media.complete = function(){
bg_sound.bs_media.stop();
}
}
sndloop();
и все!!! и никаких Listener -))