0

我正在使用 Visualizer 类为 AudioTrack 创建可视化。问题是将 Visualizer 关联到 AudioTrack 会修改音频输出,它听起来“更亮”和更响亮,几乎就像 Visualizer 字节被添加到轨道播放中一样。

当可视化工具设置启用(假)或释放()时,音频恢复正常。将音频会话 ID 设置为“0”(输出混合)不会导致此问题,但是此解决方案不适用于我的应用程序。

如何在不修改音频输出的情况下将 AudioTrack 关联到 Visualizer?

这是附加的代码:

public void link(int audioSessionId)
    {

        mVisualizer = new Visualizer(audioSessionId);
        mVisualizer.setCaptureSize(Visualizer.getCaptureSizeRange()[1]);

        // Pass through Visualizer data to VisualizerView
        Visualizer.OnDataCaptureListener captureListener = new Visualizer.OnDataCaptureListener()
        {
            @Override
            public void onWaveFormDataCapture(Visualizer visualizer, byte[] bytes,
                    int samplingRate)
            {
                updateVisualizer(bytes);
            }

            @Override
            public void onFftDataCapture(Visualizer visualizer, byte[] bytes,
                    int samplingRate)
            {
                updateVisualizerFFT(bytes);
            }
        };

        mVisualizer.setDataCaptureListener(captureListener,
                Visualizer.getMaxCaptureRate(), true, true);

        // Enabled Visualizer and disable when we're done with the stream
        mVisualizer.setEnabled(true);
    }

所有updateVisualizer()方法所做的就是使视图无效()并重绘它。那里没有可能的修改。

可能的Android错误?我在另一个可视化应用程序中注意到了这种行为。

4

1 回答 1

0

这个问题是由我的 HTC 设备上的 Beats Audio 引起的。关闭它,它就不会发生。

于 2014-01-27T02:31:06.017 回答