Это часть образца кода я использую:
первый вариант:
Я определил это в моем файле .h
SystemSoundID topClick;
И в моей .m файл I (aiff file):
NSBundle* bundle = [NSBundle mainBundle];
NSString *topClickFile = [bundle pathForResource:@"top_click" ofType:@"aiff"];
Затем, когда Я хочу играть звук, я использую:
AudioServicesPlaySystemSound(topClick);
второй вариант:
Вы также можете использовать AVAudioPlayer (доступна с прошивкой 2.2 я думаю):
NSString *graffitiSprayFile = [bundle pathForResource:@"sound_effect" ofType:@"aiff"];
AVAudioPlayer* sprayAudio = [[AVAudioPlayer alloc] initWithContentsOfURL:[NSURL fileURLWithPath:graffitiSprayFile] error:NULL];
sprayAudio.delegate = self;
[sprayAudio prepareToPlay];
[sprayAudio setNumberOfLoops:999];
Первый опция очень удобна для относительно короткого звукового эффекта.
Только информация - AVAudioPlayer может воспроизводить несколько файлов в формате caf, aiff, wav, но только один mp3 может воспроизводиться одновременно (поэтому не используйте mp3 для игровых эффектов). –
Кроме того, установка количества циклов в -1 сделает повторную выборку навсегда. – Rich
Требуется ли вызов AudioServicesCreateSystemSoundID? – Bill