我想分析我的 Android 应用程序录制的麦克风声音。
不幸的是,Visualizer只能在当前正在播放的AudioTrack上工作。目前我正在使用 AudioRecord 进行录制,并将数据复制到可视化工具正在监听的 AudioTrack 中。但是这种架构会导致可怕的播放记录循环。
一种解决方法是在录制时将 AudioTrack 的音量调到最低,但这听起来根本不是一个好的解决方案。
是否有任何替代Visualizer类的方法可以从记录的轨道中捕获 FFT 数据?
我想分析我的 Android 应用程序录制的麦克风声音。
不幸的是,Visualizer只能在当前正在播放的AudioTrack上工作。目前我正在使用 AudioRecord 进行录制,并将数据复制到可视化工具正在监听的 AudioTrack 中。但是这种架构会导致可怕的播放记录循环。
一种解决方法是在录制时将 AudioTrack 的音量调到最低,但这听起来根本不是一个好的解决方案。
是否有任何替代Visualizer类的方法可以从记录的轨道中捕获 FFT 数据?
额外的。它说
AudioFlinger createEffect_l() effect Visualizer (flags 00000008) created on wrong thread type 3 AudioEffect set(): AudioFlinger could not create effect, status: -22
搜索“在错误的线程类型上创建”后发现可视化输入信号有问题。到目前为止,我一直在挣扎,但毫无结果。
我现在解决了这个问题,方法是直接分析来自 AudioRecord 的数据,如Android 音频 FFT 中所述,以使用 audiorecord 检索特定的频率幅度。