我一直在尝试使用可用于使用android 2.3进行原生音频的OpenSL ES库,但看起来标题文件和规格的600页pdf是唯一可用的文档。
我应该在哪里寻找示例,教程或功能的简要概述?
答案 0 :(得分:21)
有一个名为NativeAudio的NDK附带的示例应用程序。它提供了几乎所有你想要实现的例子:效果,流媒体,合成等。如果你看一下它的代码,你就会有一个良好的开端。
答案 1 :(得分:16)
您还可以查看victor lazzarini的音频编程博客,它有一个android部分:http://audioprograming.wordpress.com/category/android/
在那里你会找到工作的例子,它们对我开始使用openSL非常有用,并且可以作为使用ndk开发音频应用程序的基础。
而且,不要忽略规格文件,它不是很久,第一部分不超过五十页,为您提供所需的视角,以了解一切是如何工作的,其余的是供参考使用。请注意,android openSL实现中的一些内容与规范不同:请参阅your-ndk-directory / docs / opensles / index.html以获取有关此内容的更多信息。
答案 2 :(得分:11)
经过深思熟虑后,我找到了更有价值的信息:
答案 3 :(得分:8)
对于那些只想播放单个声音文件或记录短快照(在单个缓冲区中)的人来说,NDK项目就足够了。 我看了一下“Android NDK初学者指南”,它实际上并没有比NDK项目样本解释得多。
但实际上,对于这些应用程序,您最好使用其中一个Java API。使用OpenSL ES对他们来说有点过分了恕我直言。将会有更多的代码要编写,而且没有真正的好处。
OpenSL的优势在于那些对低延迟(当它们可用时)感兴趣的人进行音频合成和处理时,为此,您可能希望流式传输音频,而不是播放/录制单个缓冲区。本书章节和NDK示例不会教您这方面的内容。音频编程博客中的博客文章为这些目的提供了更多信息。
答案 4 :(得分:0)
Victor Lazzarini在android部分的音频编程博客之一真是一个好的开始。 http://audioprograming.wordpress.com/category/android/
此博客的bitbucket git存储库有一个可直接下载的示例代码,这是最受欢迎的部分。
构建和运行非常简单。对我来说,我需要这些构建步骤并运行这个例子:
安装SWIG:swig-3.0.2。通过3个步骤安装它:
$ configure $ make $ sudo make install。
$ android update project --name opensl-es-audiotest --target 1 --path ./
然后,您可以将其安装到您的设备上进行测试:
$ adb install bin / opensl-es-audiotest-debug.apk