Аудио и фоновая музыка из игр для iPhone

Есть несколько вопросов, связанных с добавлением звуков в мою игру, в частности вступительной музыки (для заставки), фоновой музыки (петли) и звуков нажатия кнопок. Надеюсь, вы поделитесь своими знаниями по этому поводу.

1) Что следует использовать: сжатые звуки или несжатые звуки? Или, возможно, их комбинация? Есть ли какие-либо ограничения на оборудование iPhone, о которых мне следует знать, например, возможность воспроизводить несколько сжатых звуков?

2) Какой аудиоформат лучше всего подходит для моей цели?

3) Для фоновой музыки я подумываю использовать AVAudioPlayer. Для звуков нажатия кнопок я думаю об использовании AudioServicesPlaySystemSound, что вы думаете?

4) Есть ли другие вопросы, о которых мне следует знать?

Спасибо!


person Boon    schedule 15.05.2010    source источник


Ответы (1)


1) Согласно Руководству по программированию приложений iPhone: «Начиная с iPhone OS 3.0, почти все поддерживаемые аудиоформаты могут использоваться для одновременного воспроизведения, а именно все те, которые можно воспроизводить с помощью программного декодирования, как описано в Таблице 7-1. Для наиболее эффективное использование процессора при многократном воспроизведении, используйте линейный PCM (несжатый) или IMA4 (сжатый) звук ".

Но если вы собираетесь воспроизводить много звуков одновременно, вам следует использовать либо несжатый, либо IMA4.

2) Вам следует использовать формат файла CAF, потому что он дает вам максимальную гибкость в выборе формата данных. Вы можете поместить MP3, AAC, PCM, IMA4 и практически любые сжатые или несжатые данные в файл CAF (.caf). Я обычно использую файлы CAF со сжатием IMA4 в моно, 16 бит, 44,1 кГц.

3) Вот как я это делаю в своих приложениях: AVAudioPlayer для голосовых подсказок, вызывающих снижение уровня музыки, и AudioServicesPlaySystemSound для кнопок и других звуковых эффектов пользовательского интерфейса.

4) Если вы используете несжатые данные PCM, размеры файлов могут быть огромными, но IMA4 - довольно шумная схема сжатия. Вы можете использовать AAC, но тогда вы можете быть ограничены тем, сколько звуков AAC вы можете воспроизводить одновременно. До iPhone OS 3.0 за раз можно было воспроизводить только один звук в формате AAC или MP3.

person lucius    schedule 20.05.2010
comment
Спасибо, Люциус, есть идеи, почему, когда я повторно сжимаю один и тот же файл caf снова и снова, используя afconvert -f caff -d ima4 audiofile.caf, я получаю каждый раз разные размеры? Я отправлю это в отдельное обсуждение. - person Boon; 28.05.2010