Как воспроизводить звуки в приложении для iPhone - PullRequest
3 голосов
/ 22 февраля 2010

Я новичок в этой очень запутанной игре Objective-C.

Я хотел бы воспроизводить очень короткий звуковой эффект при каждом нажатии определенной кнопки.

Как я могу это сделать?

Могу ли я использовать mp3-файл? Или мне придется конвертировать в wav?

Ответы [ 2 ]

4 голосов
/ 22 февраля 2010

Вы можете использовать System Sound Services для воспроизведения коротких звуков:

CFBundleRef mainBundle = CFBundleGetMainBundle();
CFURLRef soundFileURLRef = CFBundleCopyResourceURL(mainBundle, CFSTR("filename"), CFSTR("aiff"), NULL);
SystemSoundID soundId;
AudioServicesCreateSystemSoundID(soundFileURLRef, &soundId);
AudioServicesPlaySystemSound(soundId);
CFRelease(soundFileURLRef)
Поддерживаются форматы

.caf, .aiff и .wav.

1 голос
/ 20 июля 2011

Недостаточно репутации, чтобы комментировать решение @dstnbrkr, поэтому вместо этого я опубликую его.

В приведенном выше примере CFURLRef soundFileURLRef не освобождается.

Вызовите CFRelease(soundFileURLRef) после последней строки (AudioServicesPlaySystemSound(soundId);), чтобы освободить объект Core Foundation.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...