Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Event.SOUND_COMPLETE не работает (http://www.flasher.ru/forum/showthread.php?t=204985)

temp 15.11.2013 17:35

Event.SOUND_COMPLETE не работает
 
Доброго дня всем. Может кто то сталкивался с подобной проблемой вкратце опишу ситуацию ...
Код AS3:

...
private var ambSound:Sound = new Sound();
private var chanel:SoundChannel;
...много всего еще
 
public function playAmbient():void
{
addEventListener(Event.ENTER_FRAME, frameEntered);
chanel.addEventListener(Event.SOUND_COMPLETE, soundComplete);
chanel = ambSound.play();
}
 
private function frameEntered(e:Event):void
{
trace(chanel.position + " current position ");
trace(ambSound.length + " length ")
}
 
private function soundComplete(e:Event):void
{
trace(" sound complete ");
}

и видим следующее ->
...
998.4580498866213 current position
1044.8979591836735 length
1021.6780045351474 current position
1044.8979591836735 length
1044.8979591836735 current position
1044.8979591836735 length
1044.8979591836735 current position
1044.8979591836735 length
1044.8979591836735 current position
1044.8979591836735 length
....

а вот -> sound complete так и не увидел я... может кто то с подобным сталкивался? не хочется это костылями исправлять

in4core 15.11.2013 20:39

Код:

chanel = ambSound.play();
chanel.addEventListener(Event.SOUND_COMPLETE, soundComplete);

Попробуйте так :)

temp 17.11.2013 22:22

Цитата:

Сообщение от in4core (Сообщение 1152591)
Код:

chanel = ambSound.play();
Попробуйте так :)

эмм.. спасибо, там это было, просто весь код кидать не хотел. play() отрабатывал, все начинало воспроизводиться, только вот окончание файла не видит... буду копать в спец-ях МР3. может файл какой корявый попался...

MikroAcse 17.11.2013 22:31

Цитата:

Попробуйте так
Вау. Поменять строчки местами... гениально.
Открою тайну, soundComplete выполнится не сразу, поэтому разницы нет.

in4core 18.11.2013 00:07

MikroAcse - именно , что гениально. Подумай над тем, что при запуске chanel = ambSound.play(); пересоздается канал заново и с него слетают все обработчики.
Но посмотрев свой страый код работы со звуком сомнения отпали, не пересоздается. А вот если бы пересоздавалось - можно было бы попасть вчудную.

MikroAcse 18.11.2013 00:29

@ in4core, извиняюсь, это был мой epic fail :D

in4core 18.11.2013 02:32

бывает )


Часовой пояс GMT +4, время: 23:53.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.