Показать сообщение отдельно
Старый 28.08.2006, 18:11
pkfun вне форума Посмотреть профиль Отправить личное сообщение для pkfun Посетить домашнюю страницу pkfun Найти все сообщения от pkfun
  № 5  
Ответить с цитированием
pkfun

Регистрация: 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);
	}
}
Звук выключается с плавным уменьшением громкости. Но тоже, при малых уровнях громкости, иногда слышны щелчки-переходы на меньшую громкость.
Если есть какие-то соображения по этому поводу, прошу высказываться.
Еще заметил неприятную вещь: если сжимать короткий звук отдельно от флэш и потом его загружать, то при переходе на начало слышен щелчок. Если этот же звук сжимать во флэше - все четко. Никаких щелчков.