新的Visualizer(0) - 无法初始化Visualizer引擎,错误:-3

时间:2017-04-13 04:09:38

标签: android android-studio visualizer

我目前正在尝试在我的应用中实现一个可视化工具,从输出组合中获取数据。

我目前用于初始化可视化工具的代码,直到错误行:

private Visualizer audioOutput = null;

public void link(){
  AudioTrack visualizedTrack = null;
  final int minBufferSize = AudioTrack.getMinBufferSize(Visualizer.getMaxCaptureRate(), AudioFormat.CHANNEL_OUT_MONO, AudioFormat.ENCODING_PCM_8BIT);
  visualizedTrack = new AudioTrack(AudioManager.STREAM_MUSIC, Visualizer.getMaxCaptureRate(), AudioFormat.CHANNEL_OUT_MONO, AudioFormat.ENCODING_PCM_8BIT, minBufferSize, AudioTrack.MODE_STREAM);
  visualizedTrack.play();

  audioOutput = new Visualizer(0);

我从最后一行得到的错误:

Caused by: java.lang.RuntimeException: Cannot initialize Visualizer engine, error: -3

如果此信息有用,我在Nvidia Shield Tablet K1上运行此代码。我意识到Visualizer方法并不是记录最好的类,并且已知会在某些设备上造成麻烦。

我知道由于某种不好的参数值我得到的错误-3但是输入混合不是0是可接受的吗?

我的清单中有正确的权限RECORD_AUDIO和MODIFY_AUDIO_SETTINGS:

 <uses-permission android:name="android.permission.RECORD_AUDIO"></uses-permission>
<uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS"></uses-permission>

我在这里缺少什么?我已经坚持了一段时间,并且非常感谢任何人的帮助。

1 个答案:

答案 0 :(得分:0)

似乎存在一些框架问题,但无论哪种方式在使用这些权限推送构建后重新启动设备。它应该工作!