Цитата:
Не буду спорить, скорее всего вы правы, но тогда я не понимаю )))))
Ведь я подписываю событие на определенный экземпляр channel
|
Не скорее всего, а точно. Ну вот смотрите:

Код AS3:
channel = snd.play(pausePos);
Здесь вы переменной channel даете ссылку на экземпляр класса SoundChannel у конкретного экземпляра класса Sound, ссылка на который содержится в переменной snd. Все должно быть понятно и прозрачно. Затем вы присоединяете слушатель окончания, останавливаете звук, а потом вновь пишете:

Код AS3:
channel = snd.play(pausePos);
Вы назначаете переменной channel ссылку на
другой экземпляр класса SoundChannel, он создался другой. Это ясно? А у нового экземпляра нет слушателя. Он есть у старого, ссылка на который у вас не сохранилась (да она больше и не нужна, за ней придет GC). Вот и нужно еще раз присоединить слушатель. Все ясно? Подробнее, как мне кажется, не объяснить вообще никак.