これは1曲を再生した後に次の曲を再生するコードです。それが停止しますBT conpletion私は曲を変更したい私のアプリは残念なことにプレイヤーが曲を演奏し、曲の完成後に私はbtを変更したい場合は停止します。
mp.setOnCompletionListener(new MediaPlayer.OnCompletionListener() {
@Override
public void onCompletion(MediaPlayer mpp) {
mp.stop();
mp.reset();
mp.release();
pos =(pos+1)% mysongs.size();
String mediaPath =file.getAbsolutePath()+ "/" + mysongs.get(pos)+".wav";
Log.d("pathh1", mediaPath);
u = Uri.parse(mediaPath);
mp = MediaPlayer.create(getApplicationContext(),u);
// mp = MediaPlayer.create(getApplicationContext(),u);
try {
mp.setDataSource(getApplicationContext(),u);
mp.prepare();
mp.start();
th.start();
} catch (IOException e) {
e.printStackTrace();
}
}
});
ERROR:あなたのコードで間違って物事の
05-31 17:24:52.908 9460-9460/php.example.abs.voicerecorder E/MediaPlayer: Should have subtitle controller already set
05-31 17:25:02.798 9460-9460/php.example.abs.voicerecorder D/pathh1: /storage/sdcard/MediaRecorderSample/Recordingg4.wav
05-31 17:25:02.798 9460-9460/php.example.abs.voicerecorder D/MediaPlayer: Couldn't open file on client side, trying server side
05-31 17:25:02.800 9460-9460/php.example.abs.voicerecorder D/AndroidRuntime: Shutting down VM --------- beginning of crash
05-31 17:25:02.801 9460-9460/php.example.abs.voicerecorder E/AndroidRuntime: FATAL EXCEPTION: main
Process: php.example.abs.voicerecorder, PID: 9460
java.lang.IllegalStateException
at android.media.MediaPlayer._setDataSource(Native Method)
at android.media.MediaPlayer.setDataSource(MediaPlayer.java:1119)
at android.media.MediaPlayer.setDataSource(MediaPlayer.java:1104)
at android.media.MediaPlayer.setDataSource(MediaPlayer.java:1083)
at android.media.MediaPlayer.setDataSource(MediaPlayer.java:1060)
at android.media.MediaPlayer.setDataSource(MediaPlayer.java:1014)
at android.media.MediaPlayer.setDataSource(MediaPlayer.java:957)
at php.example.abs.voicerecorder.Player$2.onCompletion(Player.java:137)
at android.media.MediaPlayer$EventHandler.handleMessage(MediaPlayer.java:2538)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:135)
at android.app.ActivityThread.main(ActivityThread.java:5254)
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:903)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:698)
を削除することで、すべてがちょうど推測ですので...ここ – Opiatefuchs
これを投稿して 'th.startは何ですか下さい(); '?他のmediaplayerオブジェクト.... – Opiatefuchs
いいえ、それはシークのためのスレッドです。私はエラーログ – siddhanta