Итак, вот в чем дело: я делаю игру-викторину и решил поставить к ней саундтрек. Это один аудиофайл, который я загрузил в свой личный домен и транслировал через код. Я также добавил кнопки воспроизведения/паузы, чтобы проигрыватель, очевидно, мог воспроизводить и приостанавливать музыку. Музыка автоматически воспроизводится на кадре 1, где находится кнопка «Пуск» моей игры. Однако, если игрок неправильно отвечает на вопрос, он возвращается к первому кадру. Проблема в том, что начинает воспроизводиться другой «экземпляр» музыки, в результате чего одновременно воспроизводится 2 музыки. Если он снова ответит неправильно, будет три воспроизведения музыки и т. д.... мне нужен какой-то прослушиватель событий, который предотвратит это... Как видите, я уже пытался использовать логический метод, но он не работает. не работает... Вот код, который я использовал для потоковой передачи:
var mySound:Sound = new Sound();
var myChannel:SoundChannel = new SoundChannel();
var lastPosition:Number = 0;// pause button
mySound.load(new URLRequest("http://trollfacequiz.16mb.com/MusicFiles/Goat%20Songs.mp3"));
var soundIsPlaying:Boolean = false;
//mySound.play();
myChannel = mySound.play();
btn_mute.pause_btn.addEventListener(MouseEvent.CLICK, onClickPause);
function onClickPause(e:MouseEvent):void
{
lastPosition = myChannel.position;
myChannel.stop();
soundIsPlaying = false;
}
btn_mute.play_btn.addEventListener(MouseEvent.CLICK, onClickPlay);
function onClickPlay(e:MouseEvent):void
{
if (soundIsPlaying == false)
{
myChannel = mySound.play(lastPosition);
soundIsPlaying = true;
}
}
btn_mute — это символ видеоклипа, который содержит кнопки воспроизведения и паузы. btn_pause — кнопка паузы. btn_play — это, очевидно, кнопка воспроизведения. Кнопка паузы находится поверх кнопки воспроизведения, поэтому, когда она становится невидимой, она «становится» кнопкой воспроизведения...