Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   требуется остановить звук выгружаемого мувиклипа (http://www.flasher.ru/forum/showthread.php?t=132592)

laliqui 15.11.2009 23:14

требуется остановить звук выгружаемого мувиклипа
 
всем доброго времени суток.

я делаю интерактивный буклет на AS3, в который по сценарию должны подгружаться ролики (swf, as1, as2 - начинки не знаю, просто анимационные ролики со звуком)

когда начинаю выгружать содержимое роликов с помощью
Код AS3:

loader.unload()

или просто
Код AS3:

while (container.numChildren>0) container.removeChildAt(0);

все выгружается-удаляется, а звук остается.

прочитала здесь, на форуме, что есть решение: останавливать звук, пока его не скушает gc с помощью SoundChannel.stop()
а как его применить (а главное, к чему) - ума не хватает.
поможите, пожалуйста =)

cleptoman 16.11.2009 01:06

ну если Sound.play() имел место быть, то проблем не вижу..в противном случае можно попробовать SoundMixer.stopAll(), но...

This method does not stop the playhead. Sounds set to stream will resume playing as the playhead moves over the frames in which they are located.

Kuruki 16.11.2009 01:11

в 9-ке выгрузка не работает путем. В 10-ке есть loader.unloadAndStop - у меня работает. И звуки автоматом выключает

wvxvw 16.11.2009 01:26

Если звук был прикреплен к таймлайну, то неплохо бы перед выгрузкой еще и stop() вызвать у клипа к которому звук был прикреплен.

laliqui 16.11.2009 08:56

Спасибо за ответы!

Значит по-порядку о результатах.

1. никакого Sound.play() не было. ну да бог с ним, SoundMixer.stopAll() замечательно помогает, но... если вдруг будет еще фоновая музыка в моем случае... будет звуковая икота: выключил все, потом снова включил свой звуковой стрим?

2. loader.unloadAndStop действительно замечательно работает в 10ке, спасибо. но зато перестает грузить эти AVM1Movie файлы. вплоть до того, что звук идет(!) а картинки нет.
Код:

Error #2180: It is illegal to move AVM1 content (AS1 or AS2) to a different part of the displayList when it has been loaded into AVM2 (AS3) content.
        at flash.display::DisplayObjectContainer/addChild()
        at Model/initListener()

3. к сожалению, совершенно не известно, как и куда был прикреплен звук. т.к. кроме свф никаких исходников нет.

mikhailk 31.01.2010 16:25

Не нашлось ли какого решения?

Сейчас столкнулся с аналогичной проблемой. Нужно при выгрузке гарантированно убирать звук мувика, если он был. У отдельных мувиклипов звук при удалении их через removeChild пропадает, а у некоторых - нет. И, кстати, в этом последнем случае даже SoundMixer.stopAll() не помогает. Звук внутри реализован по-разному, где-то лежит на таймлайне, а кое-где и программно запускается по таймеру.

mikhailk 05.02.2010 12:08

up
скоро голову сломаю )))

Несколько одинаковых по сути мувиков со звуком, где-то есть еще и изображение, где-то только звук. Все грузятся одинаково и одинаково удаляются вместе с контейнером, в который их грузят. При этом звук в мувиках с изображением худо-бедно прибивается вместе с удалением этого контейнера, а вот звуки без изображения остаются висеть и воспроизводиться и дальше. Этакие звуковые фантомы...

Единственное отличие при загрузке мувиков - мувики с изображением грузятся в видимую область контейнера, а без изображения - за край экрана. Но это как бы не должно играть роли.


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

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