我已经开始在iPhone应用程序中播放单个声音,但我现在希望基于按钮播放多个声音.为每个音频声音创建一组单独的.m和.h文件,然后将它们全部包括在内,似乎不是解决编码方面最有效的方法......然后,我刚刚开始与Cocoa,只是刚刚完成我的第一个应用程序.
任何帮助表示赞赏.这里的关键是多个声音,每个声音都由自己的按钮或图像触发.谢谢.
如果文件是MP3或AAC格式,那么您一次只能播放一个.这是iPhone上核心音频的限制.
在一次播放多个声音方面,这很容易,只需为你想要播放的每一个创建一个新的播放器实例(并记得在你完成时释放它们)
NSString *path = [[NSBundle mainBundle] pathForResource:@"dream" ofType:@"m4a"]; AVAudioPlayer* theAudio=[[AVAudioPlayer alloc] initWithContentsOfURL:[NSURL fileURLWithPath:path] error:NULL]; theAudio.delegate = self; [theAudio play];
要将MP3转换为IMA4(您可以同时播放多个),您可以运行以下命令(在终端中,在豹子中):
/usr/bin/afconvert -f caff -d ima4 sound.mp3 sound.caf
上面的代码只是固件2.2,但如果你想支持更老的固件,你可以对AudioQueue文件做同样的事情(它只是复杂得多,所以我没有在这里列出代码).