Как я узнаю, что объект Sound воспроизводится? - PullRequest
0 голосов
/ 19 января 2012

В AS3 я создал код, который загружает звук и выполняет его в потоковом режиме.

var mySound:Sound = new Sound();
var myChannel:SoundChannel = new SoundChannel();
mySound.load(new URLRequest("surrender.mp3"));
myChannel = mySound.play();

Учитывая, что mp3-файл размещен на сервере, мне нужно отследить, если он уже начался или все еще получает исходные данные с сервера.После его эффективного запуска мне нужно вызвать функцию, которая инициализирует некоторые вещи.

проблема в том, как я могу отследить, если объект звука или канала "играет"?

Ответы [ 2 ]

0 голосов
/ 19 января 2012

Вы можете ждать полной загрузки mp3

var myChannel:SoundChannel;
var soundFactory:Sound = new Sound();
soundFactory.addEventListener(Event.COMPLETE, completeHandler);
soundFactory.load(request);

// ...

private function completeHandler(event:Event):void {
    trace("completeHandler: " + event);
    myChannel = soundFactory.play();
}

или вы можете использовать Timer и периодически проверять myChannel.position - если это не изменится, звук прекратился ...

0 голосов
/ 19 января 2012

Вы можете проверить это, прослушивая различные события, которые отправляет объект Sound, а также его свойства, такие как Sound.isBuffering

См. Справочную страницу Sound

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...