audio - 在iPhone中,音频 OGG Vorbis

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

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

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

时间: 原作者:

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]; 


}



原作者:
...