audio - 在iPhone中,音频 OGG Vorbis

  显示原文与译文双语对照的内容
76 0

如果有可能的话,我想知道是否有可能使用iPhone播放Ogg音频文件,或者是否存在一个库或者框架来允许这类音频文件。

我已经阅读有关OpenAL的一些内容,但找不到任何教程。谁能帮我?

时间:原作者:0个回答

148 5

;;;
我在这里找到了答案在我的项目中使用cocos2d来播放ogg文件

PASoundMgr是一个支持ogg文件播放的不同声音引擎。但是,自从 iOS 2.x 以来,它尚未更新,因这里自从从那时起,它已经不能处理许多问题。

为什么你需要播放ogg文件?如果你将它们转换为 castor,你将能够使用硬件解码来回放它们,从cpu使用点更加有效。

他们提到了PASoundMgr这对我很有用。我刚从cocos2d框架复制了所有的files-> 库,它们是基于。去掉了不必要的代码。

这是我的,它展示了如何在ios上播放 ogg 。

要注意 iOS 5.* 模拟器,它们有一些问题,声音库是有问题的。我的演示工作在 4.3模拟器和设备上。

以下是创建演示所需的步骤:

首先你需要cocos2d-iphone框架。我已经有了,但你可以在这里找到 cocos-2d_download 。

如你所见,SoundEngineTest 依赖 libvorbis.a. 它是由 external/Tremor 组的文件组成的库。它也依赖于 OpenAl,AudioToolbox框架。

我将所有文件从震颤复制到我的项目。Crearted"vorbis" Cocoa Touch static 库,没有 arc 。将所有源文件和头文件添加到构建阶段中的"vorbis"目标。

在构建阶段 OggPlayDemo添加库( libvorbis,OpenAl,AudioToolbox ) 将库的添加到库的Link链接 Binary 。

将 PA 类添加到项目中。并将OggPlayDemo作为目标。为了避免使用 arc,我禁用了这 3个文件中的arc 编译。( 请参见禁用单个文件的arc )

移除所有cocos2d引用。有一些代码与根据方向调整侦听器位置相关。我评论了它我不需要这个功能来播放音频。

复制的音频文件。

最后将这里代码添加到 ViewController:

- (void)viewDidLoad
{
 [super viewDidLoad];
//init
 [PASoundMgr sharedSoundManager];
 [[[PASoundMgr sharedSoundManager] listener] setPosition:CGPointMake(0, 0)];
 self.audioSource = [[PASoundMgr sharedSoundManager] addSound:@"trance-loop" withExtension:@"ogg" position:CGPointMake(0, 0) looped:YES];
//lower music track volume and play it
 [self.audioSource setGain:0.5f];
}
- (IBAction)play:(id)sender {
 [self.audioSource playAtListenerPosition]; 
}
原作者:
...