我希望能够在 iPhone OS 应用程序中播放声音片段。我已经看到有关NSSound和AVFoundation的信息作为在 iPhone OS 设备上播放声音剪辑的手段,但我仍然不清楚这个主题,可以使用一些帮助。无需在实际代码中一步一步地为我拼写出来,但如果有人能给我一个关于我应该开始移动的大致方向(即我应该关注哪些类)的提示,我会填写我自己在空白处。那么,在 iPhone 应用程序中播放声音剪辑的最简单方法是什么?
问问题
5573 次
2 回答
8
Apple 有一篇关于此主题的文章,请参阅:此链接
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 文件。
于 2009-05-22T05:30:43.647 回答
6
这是我所知道的最简单的方法:
将您的声音文件转换为 caf(使用 afconvert 命令行工具)并添加到您的项目中。
caf 代表核心音频格式(我认为......)
在 Apple 的示例代码中查找 SoundEffect.h 和 .m。我相信 Metronome 和 BubbleLevel 都有。
- 复制到您的项目
编写如下代码:
SoundEffect *SimpleSound = [[SoundEffect alloc] initWithContentsOfFile:[mainBundle pathForResource:@"soundfile" ofType:@"caf"]]; [SimpleSound play]; [SimpleSound release];
研究 SoundEffect.m 以了解简单的声音处理。
于 2009-05-22T04:39:55.060 回答