Bro, My app is crashing whenever i open the activity contains InteractivePlayerView.
My logcat shows.
malankaraapp E/UncaughtException: java.lang.ArithmeticException: divide by zero
at co.mobiwise.library.InteractivePlayerView.calculatePastProgress(InteractivePlayerView.java:769)
at co.mobiwise.library.InteractivePlayerView.onDraw(InteractivePlayerView.java:517)
at android.view.View.draw(View.java:15246)
at android.view.View.updateDisplayListIfDirty(View.java:14182)
at android.view.View.getDisplayList(View.java:14204)
at android.view.View.draw(View.java:14974)
at android.view.ViewGroup.drawChild(ViewGroup.java:3453)
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:3240)
at android.view.View.updateDisplayListIfDirty(View.java:14177)
at android.view.View.getDisplayList(View.java:14204)
at android.view.View.draw(View.java:14974)
at android.view.ViewGroup.drawChild(ViewGroup.java:3453)
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:3240)
at android.view.View.updateDisplayListIfDirty(View.java:14177)
at android.view.View.getDisplayList(View.java:14204)
at android.view.View.draw(View.java:14974)
at android.view.ViewGroup.drawChild(ViewGroup.java:3453)
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:3240)
at android.view.View.updateDisplayListIfDirty(View.java:14177)
at android.view.View.getDisplayList(View.java:14204)
at android.view.View.draw(View.java:14974)
at android.view.ViewGroup.drawChild(ViewGroup.java:3453)
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:3240)
at android.view.View.updateDisplayListIfDirty(View.java:14177)
at android.view.View.getDisplayList(View.java:14204)
at android.view.View.draw(View.java:14974)
at android.view.ViewGroup.drawChild(ViewGroup.java:3453)
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:3240)
at android.view.View.updateDisplayListIfDirty(View.java:14177)
at android.view.View.getDisplayList(View.java:14204)
at android.view.View.draw(View.java:14974)
at android.view.ViewGroup.drawChild(ViewGroup.java:3453)
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:3240)
at android.view.View.updateDisplayListIfDirty(View.java:14177)
at android.view.View.getDisplayList(View.java:14204)
at android.view.View.draw(View.java:14974)
at android.view.ViewGroup.drawChild(ViewGroup.java:3453)
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:3240)
at android.view.View.draw(View.java:15249)
at android.widget.FrameLayout.draw(FrameLayout.java:598)
at com.android.internal.policy.impl.PhoneWindow$DecorView.draw(PhoneWindow.java:2667)
at android.view.View.updateDisplayListIfDirty(View.java:14182)
at android.view.View.getDisplayList(View.java:14204)
at android.view.ThreadedRenderer.updateViewTreeDisplayList(ThreadedRenderer.java:273)
at android.view.ThreadedRenderer.updateRootDisplayList(ThreadedRenderer.java:279)
at android.view.ThreadedRenderer.draw(ThreadedRenderer.java:318)
at android.view.ViewRootImpl.draw(ViewRootImpl.java:2531)
at android.view.ViewRootImpl.performDraw(ViewRootImpl.java:2353)
at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:1983)
at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1061)
at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:5896)
at android.view.Choreographer$CallbackRecord.run(Choreographer.java:767)
at android.view.Choreographer.doCallbacks(Choreographer.java:580)
at android.view.Choreographer.doFrame(Choreographer.java:550)
at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:753)
at android.os.Handler.handleCallback(Handler.java:739)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:135)
at android.app.ActivityThread.main(ActivityThread.java:5351)
at java.lang.reflect.Method.invoke(Native Method)
at java.lang.reflect.Method.invoke(Method.java:372)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:947)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:742)
11-03 11:30:58.763 22112-22512/com.root5solutions.malankaraapp D/FA: Logging event (FE): _ae, Bundle[{_o=crash, _sc=Player, _si=-6119479215985674536, timestamp=1478152858750, fatal=1}]
11-03 11:30:58.973 22112-22112/com.root5solutions.malankaraapp D/FirebaseCrashApiImpl: throwable java.lang.ArithmeticException: divide by zero
11-03 11:30:59.073 22112-22710/com.root5solutions.malankaraapp D/FirebaseCrash: Saving crash
11-03 11:30:59.113 22112-22112/com.root5solutions.malankaraapp E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.root5solutions.malankaraapp, PID: 22112
java.lang.ArithmeticException: divide by zero
at co.mobiwise.library.InteractivePlayerView.calculatePastProgress(InteractivePlayerView.java:769)
at co.mobiwise.library.InteractivePlayerView.onDraw(InteractivePlayerView.java:517)
at android.view.View.draw(View.java:15246)
at android.view.View.updateDisplayListIfDirty(View.java:14182)
at android.view.View.getDisplayList(View.java:14204)
at android.view.View.draw(View.java:14974)
at android.view.ViewGroup.drawChild(ViewGroup.java:3453)
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:3240)
at android.view.View.updateDisplayListIfDirty(View.java:14177)
at android.view.View.getDisplayList(View.java:14204)
at android.view.View.draw(View.java:14974)
at android.view.ViewGroup.drawChild(ViewGroup.java:3453)
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:3240)
at android.view.View.updateDisplayListIfDirty(View.java:14177)
at android.view.View.getDisplayList(View.java:14204)
at android.view.View.draw(View.java:14974)
at android.view.ViewGroup.drawChild(ViewGroup.java:3453)
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:3240)
at android.view.View.updateDisplayListIfDirty(View.java:14177)
at android.view.View.getDisplayList(View.java:14204)
at android.view.View.draw(View.java:14974)
at android.view.ViewGroup.drawChild(ViewGroup.java:3453)
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:3240)
at android.view.View.updateDisplayListIfDirty(View.java:14177)
at android.view.View.getDisplayList(View.java:14204)
at android.view.View.draw(View.java:14974)
at android.view.ViewGroup.drawChild(ViewGroup.java:3453)
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:3240)
at android.view.View.updateDisplayListIfDirty(View.java:14177)
at android.view.View.getDisplayList(View.java:14204)
at android.view.View.draw(View.java:14974)
at android.view.ViewGroup.drawChild(ViewGroup.java:3453)
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:3240)
at android.view.View.updateDisplayListIfDirty(View.java:14177)
at android.view.View.getDisplayList(View.java:14204)
at android.view.View.draw(View.java:14974)
at android.view.ViewGroup.drawChild(ViewGroup.java:3453)
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:3240)
at android.view.View.draw(View.java:15249)
at android.widget.FrameLayout.draw(FrameLayout.java:598)
at com.android.internal.policy.impl.PhoneWindow$DecorView.draw(PhoneWindow.java:2667)
at android.view.View.updateDisplayListIfDirty(View.java:14182)
at android.view.View.getDisplayList(View.java:14204)
at android.view.ThreadedRenderer.updateViewTreeDisplayList(ThreadedRenderer.java:273)
at android.view.ThreadedRenderer.updateRootDisplayList(ThreadedRenderer.java:279)
at android.view.ThreadedRenderer.draw(ThreadedRenderer.java:318)
at android.view.ViewRootImpl.draw(ViewRootImpl.java:2531)
at android.view.ViewRootImpl.performDraw(ViewRootImpl.java:2353)
at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:1983)
at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1061)
at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:5896)
at android.view.Choreographer$CallbackRecord.run(Choreographer.java:767)
at android.view.Choreographer.doCallbacks(Choreographer.java:580)
at android.view.Choreographer.doFrame(Choreographer.java:550)
at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:753)
at android.os.Handler.handleCallback(Handler.java:739)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:135)
at android.app.ActivityThread.main(ActivityThread.java:5351)
at java.lang.reflect.Method.invoke(Native Method)
at java.lang.reflect.Method.invoke(Method.java:372)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:947)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:742)
My code for music player is:
import android.media.AudioManager;
import android.media.MediaPlayer;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.util.Log;
import android.view.View;
import android.widget.ImageView;
import android.widget.Toast;
import java.io.IOException;
import co.mobiwise.library.InteractivePlayerView;
import co.mobiwise.library.OnActionClickedListener;
public class Player extends AppCompatActivity implements OnActionClickedListener {
MediaPlayer mMediaPlayer;
InteractivePlayerView ipv;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_player);
Bundle b = new Bundle();
b = getIntent().getExtras();
final String url = b.getString("audio");
Log.e("URL: ", url);
ipv = (InteractivePlayerView) findViewById(R.id.ipv);
mMediaPlayer = new MediaPlayer();
mMediaPlayer.reset();
mMediaPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC);
//mp3 will be started after completion of preparing...
mMediaPlayer.setOnPreparedListener(new MediaPlayer.OnPreparedListener() {
@Override
public void onPrepared(MediaPlayer player) {
int max = mMediaPlayer.getDuration();
Log.e("MAX", String.valueOf(max));
player.start();
// ipv.setMax(100);
// ipv.setProgress(0);
Log.e("start: ", url);
}
});
ipv.setOnActionClickedListener(this);
final ImageView control = (ImageView) findViewById(R.id.control);
control.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if(!ipv.isPlaying()){
ipv.start();
try {
Log.e("preparing: ", url);
mMediaPlayer.setDataSource(url);
mMediaPlayer.prepareAsync(); // might take long! (for buffering, etc)
} catch (IOException e) {
Toast.makeText(getApplicationContext(), "mp3 not found", Toast.LENGTH_SHORT).show();
e.printStackTrace();
}
control.setBackgroundResource(R.drawable.pause);
}
else{
ipv.stop();
control.setBackgroundResource(R.drawable.play);
}
}
});
}
@Override
public void onActionClicked(int id) {
switch (id){
case 1:
//Called when 1. action is clicked.
break;
case 2:
//Called when 2. action is clicked.
break;
case 3:
//Called when 3. action is clicked.
break;
default:
break;
}
}
@Override
public void onBackPressed() {
mMediaPlayer.release();
finish();
}
}
Can you pls help me to figure it out.
If you provide a working code with mediaplayer basic controls like play ,pause and update seekbar , It will be a great help for those who like to work with your Player View.
Bro, My app is crashing whenever i open the activity contains InteractivePlayerView.
My logcat shows.
My code for music player is:
Can you pls help me to figure it out.
If you provide a working code with mediaplayer basic controls like play ,pause and update seekbar , It will be a great help for those who like to work with your Player View.