如何在iPhone应用程序中播放声音

时间:2010-02-22 07:04:46

标签: iphone objective-c audio

我是这个非常令人困惑的Objective-C游戏的初学者。

每次按下某个按钮,我都想播放非常短的音效。

我该怎么做?

我可以使用mp3文件吗?或者我必须转换为wav?

2 个答案:

答案 0 :(得分:4)

您可以使用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 :(得分:1)

没有足够的声誉来评论@dstnbrkr的解决方案,所以我会将其作为答案发布。

在上面的示例中,CFURLRef soundFileURLRef未被释放。

在最后一行(CFRelease(soundFileURLRef))之后调用AudioServicesPlaySystemSound(soundId);以释放Core Foundation对象。