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

如何在iPhone应用程序中播放声音,iphone,objective-c,audio,Iphone,Objective C,Audio,我是这个非常混乱的Objective-C游戏的初学者 我想在每次按下某个按钮时播放一个非常短的音效 我该怎么做 我可以使用mp3文件吗?或者我必须转换成wav吗?您可以用它来播放短音: CFBundleRef mainBundle = CFBundleGetMainBundle(); CFURLRef soundFileURLRef = CFBundleCopyResourceURL(mainBundle, CFSTR("filename"), CFSTR("aiff"), NULL); Sys

我是这个非常混乱的Objective-C游戏的初学者

我想在每次按下某个按钮时播放一个非常短的音效

我该怎么做

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

您可以用它来播放短音:

CFBundleRef mainBundle = CFBundleGetMainBundle();
CFURLRef soundFileURLRef = CFBundleCopyResourceURL(mainBundle, CFSTR("filename"), CFSTR("aiff"), NULL);
SystemSoundID soundId;
AudioServicesCreateSystemSoundID(soundFileURLRef, &soundId);
AudioServicesPlaySystemSound(soundId);
CFRelease(soundFileURLRef)

.caf、.aiff和.wav格式受支持。

声誉不足,无法对@dstnbkr的解决方案发表评论,因此我将把它作为答案发布

在上面的示例中,
CFURLRef soundFileURLRef
没有被释放


调用最后一行(<代码> AudioServiVeSpRealStoundsAudio(SoundDID);)释放核心基础对象之后调用Cux> CfReLoad(SoundFrimeLeReF)<代码>。我想我读到声音在模拟器上不起作用。。。这是真的吗?不要这样认为-模拟器应该是好的。好吧,我已经把它加载到我的iPhone上,但声音仍然不起作用。我同时使用了.wav和.aif文件格式。我已经加入了“AudioToolbox/AudioToolbox.h”。有什么想法可以让它在模拟器中工作吗?为了让它在模拟器中工作,请转到Mac的系统Prefs,并在“声音”首选项的“声音效果”部分启用“播放用户界面声音效果”