Устранить задержку между зацикливанием песен XNA?


8

Я делаю игру с XNA и пытаюсь заставить фоновую музыку правильно зацикливаться. Поскольку файл представляет собой MP3 длиной около 30 секунд, я создал его как Song. Я хочу, чтобы он идеально зацикливался, но даже когда я устанавливаю MediaPlayer.IsRepeatingсвойство в true, всегда есть задержка около одной секунды, прежде чем песня запускается снова. Есть ли способ устранить эту задержку, чтобы песня зацикливалась мгновенно, чтобы она могла воспроизводиться более плавно?

Ответы:


7

MediaPlayer в XNA всегда имел небольшую задержку при зацикливании песен, и я не нашел способа решить эту проблему. Какая у вас целевая платформа? Вы можете рассмотреть возможность использования XACT, если вы нацелены на Xbox или Windows, поскольку у него нет тех же проблем, что и у MediaPlayer API.

Я бы рекомендовал не использовать SoundEffect (в соответствии с рекомендациями Sprunth) для воспроизведения фоновой музыки, если вы собираетесь выпустить его на XBLIG или на рынке WP7, поскольку это плохо сочетается со встроенным медиаплеером и приводит к проблемам с сертификацией / экспертной проверкой , Например, если вы воспроизводите свою фоновую музыку как SoundEffect на Xbox, и игрок хочет использовать свою собственную звуковую дорожку, ваша музыка все равно будет воспроизводиться поверх, тогда как, если вы использовали песню в соответствии с рекомендациями, она «волшебным образом» остановится. Подобные плохие вещи случаются по телефону.


4
Спасибо за разъяснение, почему Songздесь правильный выбор.
Стефан Бениак

+1 За XACT. Вы должны импортировать музыку и звуковые эффекты в виде несжатых файлов WAV и позволить XACT сжимать их и упаковывать в волновые блоки.
Майкл Бартнетт

4

Я сделал быстрое приложение xna с ~ 15 секундным mp3 и могу подтвердить, что MediaPlayer действительно имеет эту проблему при зацикливании. Я попробовал это снова с SoundEffect (и SoundEffectInstance для зацикливания в XNA4), и проблема исчезла. Думаю, вы могли бы перейти на SoundEffect?

Некоторые исследования / источники: зацикливание музыки с помощью проблемы MediaPlayer Способы устранения задержки задержки при зацикливании MP3 в XNA 3.0

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.