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" />