![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
![]() |
|
|
|
|||||
|
Регистрация: Feb 2006
Сообщений: 580
|
Вот, такой код:
var soundSw = false;
var pos:Number = 0;
//создаем кнопку включения/выключения звука
this.attachMovie("sinMusic", "sinMusic", this.getNextHighestDepth());
this.sinMusic._x = 40;
this.sinMusic._y = 40;
this.attachMovie("sinMusicHit", "sinMusicHit", this.getNextHighestDepth());
this.sinMusicHit._x = 40;
this.sinMusicHit._y = 40;
this.sinMusicHit._visible = false;
sinMusic.hitArea = sinMusicHit;
//
//функция которая включает и выключает звук
this.sinMusic.onRelease = function():Void {
if (soundSw == false) {
this._parent;
sinMusic._alpha = 30;
soundSw = true;
pos = snD.position/1000;
snD.stop();
} else {
soundSw = false;
this._parent;
sinMusic._alpha = 100;
snD.start(pos);
}
};
//создаем поле sounD и присоединяем к нему муз. файл из библиотеки
this.createEmptyMovieClip("sounD", this.getNextHighestDepth());
//
//создаем объект для звука Zvk
var snD:Sound = new Sound(sounD);
//
//прикрепляем звук Zvk к полю sounD
snD.attachSound("Zvk");
//
//устанавливаем для звука Zvk уровень громкости 90%
snD.setVolume(90);
snD.start();
//запускаем звук с начала, когда он доходит до конца
snD.onSoundComplete = function():Void {
snD.start();
};
![]() К вопросу прилагаю файл fla. 56 Килобайт. Выполнен для 8 флэш. souSt.rar |
|
|||||
|
Et cetera
Регистрация: Sep 2002
Сообщений: 30,787
|
что такое this._parent;?
|
|
|||||
|
Регистрация: Feb 2006
Сообщений: 580
|
Это ошибка в коде.
Но на саму функцию эта ошибка не влияет. Кажется. ps. Как это я ее пропустил.... Последний раз редактировалось pkfun; 26.08.2006 в 21:50. |
|
|||||
|
Регистрация: Feb 2006
Сообщений: 580
|
Пробывал изменять сжатие в настройках публикации. Изменял кодеки сжатия, даже включал disabled( в ролик включается оригинальный waw файл).
Еще пробывал снижать, мгновенно, уровень громкости звука. Все равно при отключении звука, слышен отчетливый щелчок. Что интересно, этот щелчок слышен и просто при резком сбрасывании уровня громкости. Так что, как я полагаю, дело тут не в отключении звука, а в изменении уровня громкости: если резко уменьшить - получаем неприятный щелчок. Если резко увеличить - щелчка нет. Еще наблюдение: такое впечатление, что щелчок происходит если отключать звук в определенном месте звуковой дорожки. Может быть в этом месте высокий уровень громкости или еще что-то.... А если попадаем на место с низкой громкостью - отключение происходит без щелчка. |
|
|||||
|
Регистрация: Feb 2006
Сообщений: 580
|
Пока остановился на таком варианте:
var soundSw = false;
var pos:Number = 0;
//
//создаем кнопку включения/выключения звука
this.attachMovie("sinMusic", "sinMusic", this.getNextHighestDepth());
this.sinMusic._x = 40;
this.sinMusic._y = 40;
this.attachMovie("sinMusicHit", "sinMusicHit", this.getNextHighestDepth());
this.sinMusicHit._x = 40;
this.sinMusicHit._y = 40;
this.sinMusicHit._visible = false;
sinMusic.hitArea = sinMusicHit;
//
//создаем поле sounD и присоединяем к нему набор звуков
this.createEmptyMovieClip("sounD", this.getNextHighestDepth());
//создаем объект для звука Zvk
var snD:Sound = new Sound(sounD);
//прикрепляем звук Zvk к полю sounD
snD.loadSound("Zvk.mp3", false);
snD.onLoad = function(suc:Boolean) {
if (suc == true) {
//устанавливаем для звука Zvk уровень громкости 100%
snD.setVolume(100);
snD.start();
snD.onSoundComplete = function():Void {
snD.start();
};
sinMusic.onRelease = function():Void {
if (soundSw == false) {
sinMusic._alpha = 30;
soundSw = true;
soundDp = setInterval(soundD, 30);
} else {
clearInterval(soundDp);
snD.stop();
soundSw = false;
sinMusic._alpha = 100;
snD.setVolume(100);
snD.start(pos);
}
};
}
};
function soundD() {
if (snD.getVolume()>0) {
pos = snD.position/1000;
snD.setVolume(snD.getVolume()-1);
} else {
snD.stop();
clearInterval(soundDp);
}
}
Если есть какие-то соображения по этому поводу, прошу высказываться. ![]() Еще заметил неприятную вещь: если сжимать короткий звук отдельно от флэш и потом его загружать, то при переходе на начало слышен щелчок. Если этот же звук сжимать во флэше - все четко. Никаких щелчков. |
![]() |
![]() |
Часовой пояс GMT +4, время: 18:35. |
|
|
« Предыдущая тема | Следующая тема » |
|
|