Очень много времени потратил на поиски решения, как создать фоновую музыку, которая бы играла по циклу без различных скачков и разрывов.
Прочитав в документации по Unity, что для фоновой музыки желательно использовать "сжатые" форматы аудио, мы решили остановиться на mp3. Всё шло здорово, но после написания фоновой музыки и последующем добавлении её в игру, заметили небольшую, но при этом ощутимую паузу между концом и началом мелодии. Меняя настройки экспортирования ничего изменить не удалось.
Разместил на форуме вопрос по этому поводу. Мне дали два совета:
1. Используя AudioClip.length убрать несколько миллисекунд с конца файла.
2. Использовать "несжатый" аудио-формат.
На второй вопрос я сначала просто закрыл глаза, так как, во-первых, свято верил документации и, во-вторых, размер файла получался не такой маленький и, в итоге, простая игра со всеми текстурами и звуками занимала около 28Мб, что не так уж и мало для iPhone.
Обрадовавшись, что нашлось решение я воспользовался первым вариантом. К счастью, мой iPhone немного подтормаживает и я заметил, что звук играет довольно ровно, при этом таймер игры стал от него отставать. В идеальном случае такой подход конечно же сработал бы, но в моем случае пауза заметно увеличилась.
После долгих поисков решения на форумах и прочих ресурсах я наткнулся на статью о том как сделать непрерывный циклический MP3 трек. Прочитав её я узнал, что в зависимости от программы, конвертирующей файл в MP3 она, для целого количества сэмплов, добавляет один либо несколько пустых сэмплов в начало или конец композиции. Также там дана программа, которая, вроде как, ресэмплит композицию и делает цикл непрерывным, но у меня так и не получилось добиться каких либо результатов. После помещения такого трека в Unity мелодия урезалась секунд на 10, хотя Windows Media Player играл её довольно хорошо. Попробовали сохранить трек в OGG, но небольшая пауза так и осталась.
Очень не понравилась запись в документации, что инструменты для создания зацикленных MP3 широко распространены и при этом не дается ни одной ссылки и люди в сообществах, насколько я понял, тоже недоумевали о каких таких инструментах идет речь.
В итоге, слегка отчаявшись, мы решили хранить фоновую музыку в формате WAV. Чтобы как можно меньше увеличить размер игры мы понизили до разумных пределов частоту дискретизации треков.
Теперь с зацикленной фоновой музыкой нет никаких проблем.
Комментариев нет:
Отправить комментарий