Rex*_*ids 3 iphone audio nssound avfoundation
我希望能够在iPhone OS应用程序中播放声音片段.我已经看到NSSound和AVFoundation的信息都是在iPhone OS设备上播放声音片段的方法,但我仍然不清楚这个主题并且可以使用一些帮助.不需要在实际代码中逐步拼出我,但是如果有人能给我一个关于我应该开始移动的大方向(即我应该关注哪些类)的提示我会填写在我自己的空白.那么,在iPhone应用程序中播放声音片段的最简单方法是什么?
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];
Run Code Online (Sandbox Code Playgroud)
它几乎可以播放任何文件格式(aiff,wav,mp3,aac)请记住,你一次只能播放一个mp3/aac文件.
这是我所知道的最简单的方法:
将您的声音文件转换为caf(使用afconvert命令行工具)并添加到您的项目中.
caf代表核心音频格式(我认为...)
在Apple的示例代码中查找SoundEffect.h和.m.我相信节拍器和BubbleLevel都有它.
编写如下代码:
SoundEffect *SimpleSound = [[SoundEffect alloc] initWithContentsOfFile:[mainBundle pathForResource:@"soundfile" ofType:@"caf"]];
[SimpleSound play];
[SimpleSound release];
Run Code Online (Sandbox Code Playgroud)研究SoundEffect.m以了解简单的声音处理.