OpenAL比iPhone上的AVAudioPlayer / AVAudioRecorder

时间:2010-06-29 11:06:31

标签: iphone avaudioplayer openal avaudiorecorder

iPhone上的OpenAL和AVAudioPlayer有什么区别?似乎两者都可用于播放/录制音频。你什么时候使用?每个提供哪些优点/功能?

谢谢! -MT

2 个答案:

答案 0 :(得分:1)

OpenAL是一种先进的音频播放引擎。你必须得到更多"肮脏的"用它比用AVAudio播放器。

OpenAL经常用于游戏中。 OpenAL提供3D声音定位,这是与距离相关的参数发挥作用的地方。它是一个基于C的API,而AVAudio是目标C.如果您不了解中高级C编程,那么您将不得不使用OpenAL编程。

如果您只需要基本的播放和录制,AVAudioPlayer是最好的。如果您需要比OpenAL或音频队列更多的控制(虽然音频队列也是基于C的API)。许多人似乎更喜欢OpenAL而不是音频队列,因为它是一个跨平台的库,其工作方式类似于OpenGL,游戏程序员已经非常熟悉它。

在游戏或高级音频同步情况之外的大多数情况下,AVAudio都是最佳选择。即使在游戏中,我经常会看到人们使用OpenAL(用于音效)和AVAudio(用于音乐播放)的组合。

答案 1 :(得分:0)

如果要更改距离相关,基于模式的播放等音频参数,OpenAL可提供更多控制。 AVAudioPlayer是一个非常基本的,但你可以使用低级API来实现与AudioQueues和AudioUnit相似的功能。简而言之,OpenAL通过手指按键完成一些操作,但是它再次需要您正在查看的内容?希望这会有所帮助。