Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > Общие вопросы о Flash (не затрагивающие ActionScript)

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 26.08.2006, 21:37
pkfun вне форума Посмотреть профиль Отправить личное сообщение для pkfun Посетить домашнюю страницу pkfun Найти все сообщения от pkfun
  № 1  
Ответить с цитированием
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;
//
//функция которая включает и выключает звук
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

Старый 26.08.2006, 21:39
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 2  
Ответить с цитированием
etc
Et cetera
 
Аватар для etc

Регистрация: Sep 2002
Сообщений: 30,787
что такое this._parent;?

Старый 26.08.2006, 21:48
pkfun вне форума Посмотреть профиль Отправить личное сообщение для pkfun Посетить домашнюю страницу pkfun Найти все сообщения от pkfun
  № 3  
Ответить с цитированием
pkfun

Регистрация: Feb 2006
Сообщений: 580
Это ошибка в коде.
Но на саму функцию эта ошибка не влияет. Кажется.
ps. Как это я ее пропустил....


Последний раз редактировалось pkfun; 26.08.2006 в 21:50.
Старый 28.08.2006, 16:01
pkfun вне форума Посмотреть профиль Отправить личное сообщение для pkfun Посетить домашнюю страницу pkfun Найти все сообщения от pkfun
  № 4  
Ответить с цитированием
pkfun

Регистрация: Feb 2006
Сообщений: 580
Пробывал изменять сжатие в настройках публикации. Изменял кодеки сжатия, даже включал disabled( в ролик включается оригинальный waw файл).
Еще пробывал снижать, мгновенно, уровень громкости звука.
Код:
snD.setVolume(0)
snD.stop();
Все равно при отключении звука, слышен отчетливый щелчок.
Что интересно, этот щелчок слышен и просто при резком сбрасывании уровня громкости. Так что, как я полагаю, дело тут не в отключении звука, а в изменении уровня громкости: если резко уменьшить - получаем неприятный щелчок. Если резко увеличить - щелчка нет.
Еще наблюдение: такое впечатление, что щелчок происходит если отключать звук в определенном месте звуковой дорожки. Может быть в этом месте высокий уровень громкости или еще что-то.... А если попадаем на место с низкой громкостью - отключение происходит без щелчка.

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

Создать новую тему Ответ Часовой пояс GMT +4, время: 18:35.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


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


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