Просмотр полной версии : Громкость звука во всем флеш
deman455
16.07.2010, 04:53
Каким образом уменьшить / увеличить звук всех звуков / музыки, которые содержит флеш?
var allSound:Sound = new Sound();
allSound.setVolume(50);
mooncar - НЕТ .
Создавай те звуковые события на разных глубинах. Управление высшей глубиной а именно ( _root) и будет allSounds
var allSound:Sound = new Sound(_root);
allSound.setVolume(50);
mooncar - НЕТ .
Читаем документацию...
If you do not specify a target when you create a new Sound object, you can use the methods to control sound for the whole movie.
Так что mooncar правду написал.
Совершенно не правду и документацию ты привел не в тему. Эта фишка подходит если все звуки встроены в кадры, и(или) оттачаться не на _root а куда нить в другие клипы, а этот скрипт пишем на _root тогда да. А если все на _root аттачим да и экземпляры создаются как new Sound каждый раз, то придется пользоваться глубиной как бы ты не хотел. а лучше getNextHighestDepth()
Совершенно не правду и документацию ты привел не в тему. Эта фишка подходит если все звуки встроены в кадры, и(или) оттачаться не на _root а куда нить в другие клипы, а этот скрипт пишем на _root тогда да. А если все на _root аттачим да и экземпляры создаются как new Sound каждый раз, то придется пользоваться глубиной как бы ты не хотел. а лучше getNextHighestDepth()
Ну, попробуйте так:
var s:Sound = new Sound();
s.setVolume(10);
var s1:Sound = new Sound();
s1.attachSound("sound");
s1.start(0, 1);
Экземляр s1 создаётся как new Sound, играет тихо. Если target'ом для s1 задать какой-то мувиклип - то же самое.
Ну так все верно ты написал, потому что код читается как ? сверху вниз. 2 Экземпляра на руте ты создал. первый основной. Тогда и надо подписывать : ЧТО создание основного экземпляра ДОЛЖНО быть первее всего скажем при загрузке флешки. Потому что автор может этого не знать и создать 100500 экземпляров, а тока потом написать , что сказал мункар
Ну так все верно ты написал, потому что код читается как ? сверху вниз. 2 Экземпляра на руте ты создал. первый основной. Тогда и надо подписывать : ЧТО создание основного экземпляра ДОЛЖНО быть первее всего скажем при загрузке флешки. Потому что автор может этого не знать и создать 100500 экземпляров, а тока потом написать , что сказал мункар
var s1:Sound = new Sound();
s1.attachSound("sound");
s1.start(0, 1);
var s:Sound = new Sound();
s.setVolume(10);
Работает.
var s1:Sound = new Sound(mc);
s1.attachSound("sound");
s1.start(0, 1);
var s:Sound = new Sound();
s.setVolume(10);
Работает.
// Код на кадре mc
var s1:Sound = new Sound();
s1.attachSound("sound");
s1.start(0, 1);
// Код на кадре _root
var s:Sound = new Sound();
s.setVolume(10);
Работает.
Или я что-то до сих пор не понимаю?
in4core, читаем учебник:
Если не указывать аргумент, объект Sound сохранит звуковой ресурс на временной шкале _level0.
При такой схеме:
var allSound:Sound = new Sound();
allSound.setVolume(50);
this.createEmptyMovieClip('mc1', this.getNextHighestDepth());
var s1:Sound = new Sound(mc1);
s1.attachSound('s1_id');
s1.setVolume(50);
s1.start();
this.createEmptyMovieClip('mc2', this.getNextHighestDepth());
var s2:Sound = new Sound(mc2);
s2.attachSound('s2_id');
s2.setVolume(50);
s2.start();
суммарная громкость для звучания звуков s1 и s2 будет = 0,5 * 0,5 = 0,25, то есть 25% от исходной.
Таким образом звуковой ресурс, созданный без указания целевого мувика, окажет влияние на все, расположенное на _root или на _level0.
В первом своем посте здесь я ответил на вопрос автора в рамках, которые он обозначил: "Каким образом уменьшить / увеличить звук всех звуков / музыки..."
А глубины (depths) тут совсем не причем, важна только иерархия вложенности. Не надо приплетать сюда getNextHighestDepth(), этот метод нужен только для создания целевого мувика для звукового ресурса.
PS. Естественно, я предполагаю, что поскольку вопрос задан в ветке AS, имеются ввиду звуки, созданные программно.
Работает на vBulletin ® версия 3.7.3. Copyright ©2000-2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Copyright © 1999-2008 Flasher.ru. All rights reserved.