gauravk95 / gauravk95/audio-visualizer-android
HIFI index out of bounds error
- Dominant language
- Java
- Stars
- 895
- Forks
- 142
- PR merge metrics
- No merged PRs in 30d
Description
Trying to use this library to implement the HiFiVisualizer. Everything works well with the CirlcleLineVisiualizer. Simply switching to HiFi causes an index out of bounds error. Code below..
```
```
`private HiFiVisualizer visualizer;`
`visualizer = findViewById(R.id.blast);`
MediaPlayer is in a background service and passes sessionId to MainActivity through Interface like so
```
player.setOnPreparedListener(new MediaPlayer.OnPreparedListener() {
@Override
public void onPrepared(MediaPlayer mp) {
if (MI != null) MI.setSession(mp.getAudioSessionId());
if (!mute) {
gainFocus();
mp.setVolume(volumeA, volumeA);
}
mp.start();
updateDisplay();
}
});
```
```
@Override
public void setSession(int id) {
if (id != -1) visualizer.setAudioSessionId(id);
}
```
Like I said before, everything works great when using CircleLine or Blast. Changing the XML from CirlcleLine to HiFi along with the global variable in the MainActivity to match compliles fine, runs, and causes the following crash.
```
E: FATAL EXCEPTION: main
Process: com.cb3g.channel19, PID: 27644
java.lang.ArrayIndexOutOfBoundsException: length=192; index=-1
at com.gauravk.audiovisualizer.visualizer.HiFiVisualizer.onDraw(HiFiVisualizer.java:102)
at android.view.View.draw(View.java:19192)
at android.view.View.updateDisplayListIfDirty(View.java:18142)
at android.view.View.draw(View.java:18920)
at android.view.ViewGroup.drawChild(ViewGroup.java:4236)
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:4022)
at android.support.constraint.ConstraintLayout.dispatchDraw(ConstraintLayout.java:1873)
at android.view.View.draw(View.java:19195)
at android.view.View.updateDisplayListIfDirty(View.java:18142)
at android.view.View.draw(View.java:18920)
at android.view.ViewGroup.drawChild(ViewGroup.java:4236)
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:4022)
at android.support.constraint.ConstraintLayout.dispatchDraw(ConstraintLayout.java:1873)
at android.view.View.updateDisplayListIfDirty(View.java:18133)
at android.view.View.draw(View.java:18920)
at android.view.ViewGroup.drawChild(ViewGroup.java:4236)
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:4022)
at android.view.View.updateDisplayListIfDirty(View.java:18133)
at android.view.View.draw(View.java:18920)
at android.view.ViewGroup.drawChild(ViewGroup.java:4236)
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:4022)
at android.view.View.updateDisplayListIfDirty(View.java:18133)
at android.view.View.draw(View.java:18920)
at android.view.ViewGroup.drawChild(ViewGroup.java:4236)
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:4022)
at android.view.View.updateDisplayListIfDirty(View.java:18133)
at android.view.View.draw(View.java:18920)
at android.view.ViewGroup.drawChild(ViewGroup.java:4236)
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:4022)
at android.view.View.updateDisplayListIfDirty(View.java:18133)
at android.view.View.draw(View.java:18920)
at android.view.ViewGroup.drawChild(ViewGroup.java:4236)
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:4022)
at android.view.View.updateDisplayListIfDirty(View.java:18133)
at android.view.ThreadedRenderer.updateViewTreeDisplayList(ThreadedRenderer.java:669)
at android.view.ThreadedRenderer.updateRootDisplayList(ThreadedRenderer.java:675)
at android.view.ThreadedRenderer.draw(ThreadedRenderer.java:783)
at android.view.ViewRootImpl.draw(ViewRootImpl.java:2992)
at android.view.ViewRootImpl.performDraw(ViewRootImpl.java:2806)
at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:2359)
at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1392)
at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:6752)
at android.view.Choreographer$CallbackRecord.run(Choreographer.java:911)
at android.view.Choreographer.doCallbacks(Choreographer.java:723)
at android.view.Choreographer.doFrame(Choreographer.java:658)
at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:897)
at android.os.Handler.handleCallback(Handler.java:790)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:164)
at android.app.ActivityThread.main(ActivityThread.java:6494)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:438)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:807)
```
Am I missing something here? The audio format is M4A (MPEG_4_Audio)
Contributor guide
No contributing guide indexed for this repository
Assessment
This issue has not been assessed yet.