![]() |
Проблема с зацикленным воспроизведением
Решил создать звуковое окружение в игре, но столкнулся с проблемой: при повторном воспроизведении звука происходит небольшая задержка, которая всё портит. То есть, задержку отчётливо слышно, а хотелось бы, чтобы воспроизведение велось как бы непрерывно.
Вот пример звука: rghost ru / 42745030 (ссылка почему-то обрезается) Сам код прост до безобразия: Код AS3:
|
В начале звука есть тишина длительностью 50 мс.
Сделайте так: Код AS3:
|
Если вариант предложенный TWETTI не прокатит (у меня не работал, все равно было слышно короткую паузу при использовании мп3)
То есть еще один вариант. Если это mp3, то надо будет этот звук перегнать в wav, каким-то редактором типа sound forge убрать эту тишину, потом звук добавить в библиотеку flash ide, экспортировать в AS3 и сохранить как swc. Потом подключить библиотеку к проекту, и использовать уже просто как Sound. |
Цитата:
|
Цитата:
|
Всё, понял. В звуковом редакторе я работал с WAV файлом и у него нету этих задержек. Они появляются после конвертации в MP3. Теперь осталось разобраться, почему так происходит.
|
Sinepym это происходит из-за кодека мп3. Ничего с этим сделать нельзя. Как обойти я уже написал выше.
|
Нашёл два способа зацикливания mp3:
1. С помощью программы MP3Loop - http://www.compuphase.com/mp3/mp3loops.htm Она удаляет паузу в конце и почти всю паузу в начале (немного остаётся). Чтобы программа заработала, нужно в её папку поместить lame_enc.dll 2. С помощью кода - http://blog.andre-michelle.com/2010/...-loop-gapless/ Работает отлично. Под каждый трек нужно рассчитывать samplesTotal по формуле 44100 * Number(время в секундах). |
2 способ из последнего поста работает, проверено лично мной, но есть нюанс: сэмплинг звука таким способом жрет нехило ресурсов
|
зачем семплинг. нужно просто слушать прогресс звука при проигрывании если осталось 10 мсекунд запускать заново.
|
Самый простой и логичный способ, не подразумевающий костылей - обрезать тишину в начале и конце аудиофайла в редакторе, о чём уже писали.
|
там проблема не в тишине, это особенность кодека
|
| Часовой пояс GMT +4, время: 17:20. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.