android 개발java.lang.IllegalStateException at android.media.MediaPlayer._prepare(Native Method)
protected void play() {
System.out.println("play");
mpMediaPlayer = MediaPlayer.create(this, R.raw.dd);
try {
mpMediaPlayer.prepare();
} catch (IllegalStateException e) {
e.printStackTrace();
}catch (IOException e){
e.printStackTrace();
}
mpMediaPlayer.start();
mpMediaPlayer.setOnCompletionListener(new MediaPlayer.OnCompletionListener() {//
@Override
public void onCompletion(MediaPlayer mediaPlayer) {
mpMediaPlayer.start();
mpMediaPlayer.setLooping(true);
}
});
}
error:
08-16 14:47:09.822 21109-23341/com.shangyi.supplier W/System.err: java.lang.IllegalStateException
08-16 14:47:09.822 21109-23341/com.shangyi.supplier W/System.err: at android.media.MediaPlayer._prepare(Native Method)
08-16 14:47:09.822 21109-23341/com.shangyi.supplier W/System.err: at android.media.MediaPlayer.prepare(MediaPlayer.java:1193)
08-16 14:47:09.822 21109-23341/com.shangyi.supplier W/System.err: at com.shangyi.service.SupplierService.play(SupplierService.java:139)
08-16 14:47:09.822 21109-23341/com.shangyi.supplier W/System.err: at com.shangyi.service.SupplierService$1.run(SupplierService.java:61)
08-16 14:47:09.822 21109-23341/com.shangyi.supplier W/System.err: at java.lang.Thread.run(Thread.java:833)
재생도 가능하지만 이상이 있으면 기분이 나빠요. 원인을 찾았어요. 자바에 있는 미디어플레이어 대상의 상태와native의 대상의 상태가 일치하지 않는다고 했어요. 미디어플레이어의 is플레이잉 방법이 일으킨 거라고 했는데 나중에 바꿨어요.
protected void play() {
System.out.println("play");
mpMediaPlayer = MediaPlayer.create(this, R.raw.dd);
try {
// mpMediaPlayer.prepare();
if(mpMediaPlayer.isPlaying()){
mpMediaPlayer.stop();
mpMediaPlayer.release();
mpMediaPlayer = MediaPlayer.create(this, R.raw.dd);
}
mpMediaPlayer.start();
} catch (IllegalStateException e) {
e.printStackTrace();
}
mpMediaPlayer.start();
mpMediaPlayer.setOnCompletionListener(new MediaPlayer.OnCompletionListener() {//
@Override
public void onCompletion(MediaPlayer mediaPlayer) {
mpMediaPlayer.start();
mpMediaPlayer.setLooping(true);
}
});
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Kotlin의 기초 - 2부지난 글에서는 Kotlin이 무엇인지, Kotlin의 특징, Kotlin에서 변수 및 데이터 유형을 선언하는 방법과 같은 Kotlin의 기본 개념에 대해 배웠습니다. 유형 변환은 데이터 변수의 한 유형을 다른 데이터...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.