Я использую класс Visualizer для создания визуализации для AudioTrack. Проблема заключается в том, чтобы связать Visualizer с AudioTrack, изменяя аудиовыход, он звучит «ярче» и громче, почти так же, как если бы байты визуализатора добавлялись к воспроизведению дорожки.Связывание визуализатора с AudioTrack изменяет звук
Когда визуализатор установленEEabled (false) или release() 'd, звук возвращается в нормальное состояние. Установка идентификатора сеанса аудио в «0» (выходной микс) не вызывает этой проблемы, однако это решение неприемлемо для моего приложения.
Как я могу связать AudioTrack с визуализатором без изменения аудиовыхода?
Вот код для крепления:
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()
методы делают это Invalidate() вид и перерисовать его. Никакой возможной модификации нет.
Возможная ошибка Android? Я заметил это поведение в другом приложении для визуализации.