我希望能够在iPhone OS应用中播放声音片段。我已经看到 NSSound 以及 AVFoundation 的信息作为在iPhone OS设备上播放声音片段的方法,但我仍然不清楚这个主题并可以使用一些帮助。不需要在实际代码中逐步拼出我,但是如果有人能给我一个关于我应该开始移动的大方向(即我应该关注哪些类)的提示我会填写在我自己的空白。那么,在iPhone应用程序中播放声音片段的最简单方法是什么?
答案 0 :(得分:8)
Apple有一篇关于此主题的文章,请参阅:this link
AVAudioPlayer是播放任意长度声音的最简单方式,循环与否,但它需要iPhone OS 2.2或更高版本。一个简单的例子:
NSString *soundFilePath =
[[NSBundle mainBundle] pathForResource: @"sound"
ofType: @"wav"];
NSURL *fileURL = [[NSURL alloc] initFileURLWithPath: soundFilePath];
AVAudioPlayer *newPlayer =
[[AVAudioPlayer alloc] initWithContentsOfURL: fileURL
error: nil];
[fileURL release];
[newPlayer play];
[newPlayer release];
它几乎可以播放任何文件格式(aiff,wav,mp3,aac)请记住,你一次只能播放一个mp3 / aac文件。
答案 1 :(得分:6)
这是我所知道的最简单的方法:
将您的声音文件转换为caf(使用afconvert命令行工具)并添加到您的项目中。
caf代表Core Audio Format(我认为......)
在Apple的示例代码中查找SoundEffect.h和.m。我相信节拍器和BubbleLevel都有它。
编写如下代码:
SoundEffect *SimpleSound = [[SoundEffect alloc] initWithContentsOfFile:[mainBundle pathForResource:@"soundfile" ofType:@"caf"]];
[SimpleSound play];
[SimpleSound release];
研究SoundEffect.m以了解简单的声音处理。