1

I'm getting the following error when initializing a Visualizer:

java.lang.RuntimeException: Cannot initialize Visualizer engine, error: -3
at android.media.audiofx.Visualizer.<init>(Visualizer.java:218)

This is my code:

public void play(String path, Context context) throws IOException {
    Log.i(TAG, "Playing sound: " + path);
    AssetFileDescriptor afd = context.getAssets().openFd(
            "sounds/" + path + ".mp3");
    player.reset();
    player.setDataSource(afd.getFileDescriptor(), afd.getStartOffset(), afd.getLength());
    player.prepare();

    mVisualizer = new Visualizer(player.getAudioSessionId());
    mVisualizer.setEnabled(true);
    mVisualizer.setCaptureSize(Visualizer.getCaptureSizeRange()[1]);
    mVisualizer.setDataCaptureListener(this, Visualizer.getMaxCaptureRate() / 2, true, false);

    player.start();
}

The error is thrown at: new Visualizer(player.getAudioSessionId());

I have already added RECORD_AUDIO permission in Manifiest as it says in this answer:

<uses-permission android:name="android.permission.RECORD_AUDIO" />
Community
  • 1
  • 1
Camilo Ortegón
  • 3,414
  • 3
  • 26
  • 34

0 Answers0