android - 在 Android 中使用 OpenSL ES 而不是 AudioTrack 的原因应该是什么?

标签 android android-ndk audiotrack opensl

目前我正在使用 AudioTrack 将音频数据从原生层传递给它来播放。

看来我可以在原生层使用 OpenSL ES 而不是 Java 中的 AudioTrack。与 AudioTrack 相比,OpenSL ES 具有哪些假定优势?

最佳答案

OpenSL ES:

优点:

  1. Android 中的低级音频 API
  2. 独立于 Android 手机的设备
  3. 适合游戏

缺点:

  1. 仅支持 2.3+ 操作系统

音轨:

优点:

  1. 高级 API

缺点:

  1. 在 Java 层工作,Native 代码必须调用 javalayer 才能播放 音频。

关于android - 在 Android 中使用 OpenSL ES 而不是 AudioTrack 的原因应该是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11196912/

相关文章:

android - 用于移动应用程序的服务器端 API

java - 在应用程序本身中实现 Firebase 安全规则有什么问题?

android - E/统一 : Unable to find main

android - 尝试使用 Jelly Beans 新的低级媒体 API 构建 "Hello, world!"媒体播放器 Activity

python - 用python计算电影文件中的音轨

java - 如何在我的应用程序中获取电子邮件地址的键盘?

Android:使用 Intent Url 方案显式调用 Activity

android - 是否可以在 native C 中读取 logcat?

android - 如何使用 'CMakeLists.txt' 中的 add_library 将整个文件(.cpp、.h 等)包含在目录中

android - AudioTrack 的内存泄漏