我是這款非常令人困惑的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