如何在iOS中播放声音?

我在stackoverflow上找到了这么多解决方案,但由于某种原因,所有这些解决方案都无法产生任何声音。

这是我目前的代码:

PRE: I've added AudioToolbox.framework and imported  in my .m file - (void)viewDidLoad { [super viewDidLoad]; NSURL* sndurl = [[NSBundle mainBundle] URLForResource:@"test" withExtension:@"aif"]; SystemSoundID snd; AudioServicesCreateSystemSoundID((__bridge CFURLRef)sndurl, &snd); AudioServicesAddSystemSoundCompletion(snd, nil, nil, SoundFinished, nil); AudioServicesPlaySystemSound(snd); } void SoundFinished (SystemSoundID snd, void* context) { AudioServicesRemoveSystemSoundCompletion(snd); AudioServicesDisposeSystemSoundID(snd); } 

这个解决方案直接出书。 但是当我运行项目时,如果没有产生任何声音。 我的文件是test.aif,长5秒。

有什么建议为什么它不起作用? 如果这不是最好的解决方案,你如何在iOS6上产生声音?

根据这个主题和其他人,播放音频剪辑可以简单如下,我使用方法(function)。 我在自己之前做过。

 - (void)playAudio { [self playSound:@"pageflip1" :@"wav"]; } - (void)playSound :(NSString *)fName :(NSString *) ext{ SystemSoundID audioEffect; NSString *path = [[NSBundle mainBundle] pathForResource : fName ofType :ext]; if ([[NSFileManager defaultManager] fileExistsAtPath : path]) { NSURL *pathURL = [NSURL fileURLWithPath: path]; AudioServicesCreateSystemSoundID((__bridge CFURLRef) pathURL, &audioEffect); AudioServicesPlaySystemSound(audioEffect); } else { NSLog(@"error, file not found: %@", path); } } 

请务必尝试在实际设备上进行测试,因为使用AVFoundation时模拟器可能会出现问题。