适用于Android的OpenSL ES教程

mjr*_*mjr 39 audio android alsa opensl

我一直在尝试使用可用于使用android 2.3进行本机音频的OpenSL ES库,但看起来头文件和规范的600页pdf是唯一可用的文档.

我应该在哪里寻找示例,教程或功能的简要概述?

Pho*_*non 21

有一个名为NativeAudio的NDK附带的示例应用程序.它提供了几乎所有你想要实现的例子:效果,流媒体,合成等.如果你看一下它的代码,你就会有一个良好的开端.


ath*_*hos 16

您还可以查看victor lazzarini的音频编程博客,它有一个android部分:http://audioprograming.wordpress.com/category/android/

在那里你会找到工作的例子,它们对我开始使用openSL非常有用,并且可以用作开发ndk音频应用程序的基础.

而且,不要忽视规格文件,它不会那么久,第一部分不超过五十页,并为您提供所需的视角,以了解一切是如何工作的,其余的是供参考使用.请注意,android openSL实现中的一些内容与规范不同:请参阅your-ndk-directory/docs/opensles/index.html以获取有关此内容的更多信息.


ger*_*lez 11

经过深思熟虑后,我发现了更有价值的信息:


小智 7

对于那些只想播放单个声音文件或记录短快照(在单个缓冲区中)的人来说,NDK项目就足够了.我看了一下"Android NDK初学者指南",它实际上并没有比NDK项目样本解释得多.

但实际上,对于这些应用程序,您可能最好使用其中一个Java API.使用OpenSL ES对他们来说有点过分了恕我直言.将会有更多的代码要写,没有真正的收获.

OpenSL的优势在于那些对较低延迟(当它们可用时)感兴趣的人进行音频合成和处理时,为此,您可能希望流式传输音频,而不是播放/录制单个缓冲区.本书章节和NDK示例不会教您这方面的内容.音频编程博客中的博客文章为这些目的提供了更多信息.