我是这款非常令人困惑的Objective-C游戏的初学者。如何在iPhone应用程序中播放声音
每次按下某个按钮时,我都会播放很短的声音效果。
我该怎么做?
我可以使用mp3文件吗?或者我将不得不转换为wav?
我是这款非常令人困惑的Objective-C游戏的初学者。如何在iPhone应用程序中播放声音
每次按下某个按钮时,我都会播放很短的声音效果。
我该怎么做?
我可以使用mp3文件吗?或者我将不得不转换为wav?
您可以使用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格式的支持。
没有足够的声望来通过@dstnbrkr对解决方案发表评论,所以我会将其作为答案发布。
在上面的示例中,CFURLRef soundFileURLRef
未被释放。
在最后一行(AudioServicesPlaySystemSound(soundId);
)之后调用CFRelease(soundFileURLRef)
来释放Core Foundation对象。
谢谢,它编译伟大。我想我读了这个声音在模拟器上不起作用......这是真的吗? – androidnotgenius 2010-02-22 08:32:54
不要这么认为 - 模拟器应该没问题。 – dstnbrkr 2010-02-22 15:59:33
好吧,我已经将这个加载到我的iPhone上,声音仍然不起作用。我使用了.wav和.aif文件格式。我已经包含了“AudioToolbox/AudioToolbox.h”。任何想法,使这项工作? – androidnotgenius 2010-02-22 18:33:18