Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 1.0/2.0 (http://www.flasher.ru/forum/forumdisplay.php?f=93)
-   -   Громкость звука во всем флеш (http://www.flasher.ru/forum/showthread.php?t=142240)

deman455 16.07.2010 04:53

Громкость звука во всем флеш
 
Каким образом уменьшить / увеличить звук всех звуков / музыки, которые содержит флеш?

mooncar 16.07.2010 09:56

Код AS1/AS2:

var allSound:Sound = new Sound();
allSound.setVolume(50);


in4core 16.07.2010 14:19

mooncar - НЕТ .

Создавай те звуковые события на разных глубинах. Управление высшей глубиной а именно ( _root) и будет allSounds

Код AS1/AS2:

var allSound:Sound = new Sound(_root);
allSound.setVolume(50);


Хемуль 16.07.2010 15:01

Цитата:

Сообщение от in4core (Сообщение 922730)
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 правду написал.

in4core 16.07.2010 15:09

Совершенно не правду и документацию ты привел не в тему. Эта фишка подходит если все звуки встроены в кадры, и(или) оттачаться не на _root а куда нить в другие клипы, а этот скрипт пишем на _root тогда да. А если все на _root аттачим да и экземпляры создаются как new Sound каждый раз, то придется пользоваться глубиной как бы ты не хотел. а лучше getNextHighestDepth()

Хемуль 16.07.2010 15:20

Цитата:

Сообщение от in4core (Сообщение 922755)
Совершенно не правду и документацию ты привел не в тему. Эта фишка подходит если все звуки встроены в кадры, и(или) оттачаться не на _root а куда нить в другие клипы, а этот скрипт пишем на _root тогда да. А если все на _root аттачим да и экземпляры создаются как new Sound каждый раз, то придется пользоваться глубиной как бы ты не хотел. а лучше getNextHighestDepth()

Ну, попробуйте так:
Код AS1/AS2:

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 задать какой-то мувиклип - то же самое.

in4core 16.07.2010 15:25

Ну так все верно ты написал, потому что код читается как ? сверху вниз. 2 Экземпляра на руте ты создал. первый основной. Тогда и надо подписывать : ЧТО создание основного экземпляра ДОЛЖНО быть первее всего скажем при загрузке флешки. Потому что автор может этого не знать и создать 100500 экземпляров, а тока потом написать , что сказал мункар

Хемуль 16.07.2010 15:31

Цитата:

Сообщение от in4core (Сообщение 922764)
Ну так все верно ты написал, потому что код читается как ? сверху вниз. 2 Экземпляра на руте ты создал. первый основной. Тогда и надо подписывать : ЧТО создание основного экземпляра ДОЛЖНО быть первее всего скажем при загрузке флешки. Потому что автор может этого не знать и создать 100500 экземпляров, а тока потом написать , что сказал мункар

Код AS1/AS2:

var s1:Sound = new Sound();
s1.attachSound("sound");
s1.start(0, 1);
 
var s:Sound = new Sound();
s.setVolume(10);

Работает.

Код AS1/AS2:

var s1:Sound = new Sound(mc);
s1.attachSound("sound");
s1.start(0, 1);
 
var s:Sound = new Sound();
s.setVolume(10);

Работает.

Код AS1/AS2:

// Код на кадре mc
var s1:Sound = new Sound();
s1.attachSound("sound");
s1.start(0, 1);
 
// Код на кадре _root
var s:Sound = new Sound();
s.setVolume(10);

Работает.

Или я что-то до сих пор не понимаю?

mooncar 16.07.2010 15:45

in4core, читаем учебник:
Цитата:

Если не указывать аргумент, объект Sound сохранит звуковой ресурс на временной шкале _level0.
При такой схеме:
Код AS1/AS2:

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, имеются ввиду звуки, созданные программно.


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

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