gpt4 book ai didi

android - 访问 MediaPlayer 中的音频缓冲区

转载 作者:太空宇宙 更新时间:2023-11-03 13:25:42 26 4
gpt4 key购买 nike

我正在从事 Android 项目,我必须在其中分析频域中的音频信号。实际上,我已经准备好模块,它正在从设备麦克风读取信号并对其进行处理(FFT、可视化等),我对这种信号没有任何问题。

现在我正在尝试分析以 mp3 文件形式存储在设备上的音频信号。一般来说,从 MediaPlayer 对象播放它没有任何问题。不幸的是,我在访问我的播放器播放的数据缓冲区时遇到了一些问题,我可以将其用于频谱计算。

您对我如何访问音频缓冲区有什么建议吗? MediaPlayer 完全有可能吗?还是我应该使用其他方法来解决这个问题?

最佳答案

据我所知,没有办法使用 MediaPlayer 直接访问缓冲区。

但是,如果您使用的 API >= 16 (Android 4.1),您可以使用内置的 MediaCodec类将您的 MP3 文件解码为原始 PCM 流。您可以对数据进行分析,然后将其传递给 AudioTrack 以输出它。 This blog post显示了如何解码和发送到音轨的示例。

如果您必须支持较低的 API 级别,您可以以相同的方式使用第 3 方库。我用过 JLayer过去,但其性能高度依赖于硬件。在一些低端设备上,您将无法实时解码。

关于android - 访问 MediaPlayer 中的音频缓冲区,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20618667/

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