Stop at state 1

I could not resolve this error of the media player, which says that "stop called in state 1". My-media player actually lingers for a few seconds before moving on to the next music. Can anybody help me.

+4
source share
1 answer

it can help you ...

package com.commonsware.android.audio; import android.app.Activity; import android.app.AlertDialog; import android.content.Context; import android.content.SharedPreferences; import android.media.MediaPlayer; import android.os.Bundle; import android.view.Menu; import android.view.MenuItem; import android.view.View; import android.widget.ImageButton; import android.widget.Toast; public class AudioDemo extends Activity implements MediaPlayer.OnCompletionListener { private ImageButton play; private ImageButton pause; private ImageButton stop; private MediaPlayer mp; @Override public void onCreate(Bundle icicle) { super.onCreate(icicle); setContentView(R.layout.main); play=(ImageButton)findViewById(R.id.play); pause=(ImageButton)findViewById(R.id.pause); stop=(ImageButton)findViewById(R.id.stop); play.setOnClickListener(new View.OnClickListener() { public void onClick(View view) { play(); } }); pause.setOnClickListener(new View.OnClickListener() { public void onClick(View view) { pause(); } }); stop.setOnClickListener(new View.OnClickListener() { public void onClick(View view) { stop(); } }); setup(); } @Override public void onDestroy() { super.onDestroy(); if (stop.isEnabled()) { stop(); } } public void onCompletion(MediaPlayer mp) { stop(); } private void play() { mp.start(); play.setEnabled(false); pause.setEnabled(true); stop.setEnabled(true); } private void stop() { mp.stop(); pause.setEnabled(false); stop.setEnabled(false); try { mp.prepare(); mp.seekTo(0); play.setEnabled(true); } catch (Throwable t) { goBlooey(t); } } private void pause() { mp.pause(); play.setEnabled(true); pause.setEnabled(false); stop.setEnabled(true); } private void loadClip() { try { mp=MediaPlayer.create(this, R.raw.clip); mp.setOnCompletionListener(this); } catch (Throwable t) { goBlooey(t); } } private void setup() { loadClip(); play.setEnabled(true); pause.setEnabled(false); stop.setEnabled(false); } private void goBlooey(Throwable t) { AlertDialog.Builder builder=new AlertDialog.Builder(this); builder .setTitle("Exception!") .setMessage(t.toString()) .setPositiveButton("OK", null) .show(); } } 
+4
source

Source: https://habr.com/ru/post/1412765/


All Articles