gpt4 book ai didi

android - OpenSL - 音频播放器对象搜索不佳

转载 作者:行者123 更新时间:2023-12-02 22:41:17 26 4
gpt4 key购买 nike

我正在编写一个 Android 应用程序,该应用程序需要能够以高精度查找大型 mp3 音频文件(约 90 分钟)中的特定点。

目前,我正在使用带有 URI 数据源的音频播放器对象的 OpenSL 方法,该 URI 数据源指定 mp3 文件和 MIME 信息。

为了测试这一点,我使用播放器上的 SLSeekITF 接口(interface)来寻找特定点(以毫秒为单位)。但是,我发现搜索性能很差且不一致。通常,音频与应有的位置相差 1-10 秒。有时领先,有时落后。使用较短的 mp3 文件时性能稍好一些,但还远远不够接近。

Seek 模式(“准确”和“快速”)似乎对 SLSeekITF 没有任何影响。

在其他平台上,我可以让搜索位置非常准确 < 50 毫秒,这几乎看不到,所以我知道这是可能的。

- 有谁知道如何从 OpenSL 音频播放器中获得更好的准确性?
- 此实现是否存在已知问题?
- 是否有其他 mp3 解码器可以提供更好的性能?

谢谢

最佳答案

我还在 Google NDK Group 上发布了这个问题:
https://groups.google.com/forum/#!topic/android-ndk/rzVr3A0DjBs

虽然我从未从 Google 的任何人那里得到官方答复,但我收到的反馈似乎表明媒体播放器和/或使用 OpenSL ES 从 URI 播放音频是有问题的。

我最终通过使用具有搜索能力的第 3 方 mp3 解码器和 OpenSL ES 中的 Buffer Queue Audio Player 对象来播放音频样本来解决这个问题。

很难做到,但它确实有效。

关于android - OpenSL - 音频播放器对象搜索不佳,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18390857/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com