目前我正在使用 AudioTrack 将来自本机层的音频数据传递给它来播放。
看来我可以在本机层使用 OpenSL ES 而不是 Java 中的 AudioTrack。与 AudioTrack 相比,OpenSL ES 提供的假定优势是什么?
目前我正在使用 AudioTrack 将来自本机层的音频数据传递给它来播放。
看来我可以在本机层使用 OpenSL ES 而不是 Java 中的 AudioTrack。与 AudioTrack 相比,OpenSL ES 提供的假定优势是什么?
OpenSL ES:
好处:
缺点:
音轨:
好处:
缺点:
虽然这是旧的,但其他人会像我一样从搜索中来到这里。我在一个相当慢且低功耗的平板电脑(Onda V10 4G,联发科处理器)上使用 Android 7,没有其他应用程序处于活动状态。在播放从电视录制的 .ts 文件时,我发现音频通过蓝牙连续丢失,尽管通过平板电脑的扬声器(可能是耳机,尽管我没有测试)很好。音频输出设置为默认 OpenSL ES。我更改为 AudioTrack,现在音频很好,即使对于通过网络访问的文件也是如此。VLC 当前日期为 2021 年 8 月 1 日。顺便说一句,通过蓝牙,我发现声音和字幕与屏幕上的内容相匹配(没有像我有时发现的那样大的偏移),尽管口型同步并不准确)。我没有尝试补偿延迟,默认保留。
文件通过 Kodi 播放良好。
所以在这种情况下使用 AudioTrack 的令人信服的理由。可能有一些设置可以让 OpenSL 工作,但我没有打扰。