[英]Getting error in Media Player. MediaPlayer(8743): Error (-38,0)
我目前正在開發Media Player。 我有URL,並且正在像設置媒體播放器。 但是我得到以下錯誤:
E/MediaPlayer(8743): stop called in state 0
E/MediaPlayer(8743): error (-38, 0)
代碼是:
public void onPlayClick(View view) {
Object obj = view.getTag();
if (obj != null && obj.getClass() == RowItem.class) {
final RowItem rowItem = (RowItem) obj;
if (!rowItem.mPlayer.isPlaying()) {
invalidatePlayButtons(rowItem.mPosition);
try {
rowItem.mPlayer.reset();
rowItem.mPlayer.setDataSource(rowItem.mTrack.getAboluteFilePath());
Log.d("RINGTONE","File path = "+rowItem.mTrack.getAboluteFilePath());
rowItem.mPlayer.prepare();
} catch (IllegalArgumentException e) {
e.printStackTrace();
} catch (SecurityException e) {
e.printStackTrace();
} catch (IllegalStateException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
rowItem.mPlayer.start();
rowItem.mPlayer
.setOnCompletionListener(new MediaPlayer.OnCompletionListener() {
@Override
public void onCompletion(MediaPlayer mp) {
mp.stop();
rowItem.mPlayButton
.setImageResource(R.drawable.play);
}
});
rowItem.mProgressBar.setProgress(0);
rowItem.mProgressBar.setMax(rowItem.mPlayer.getDuration());
showAnimation(rowItem);
rowItem.mTrack.setPlaying(false);
} else {
invalidatePlayButtons(-1);
}
}
}
如果您正在使用媒體播放器,則還應該使用此代碼釋放媒體播放器
mp = MediaPlayer.create(FallAnimationActivity.this,
sounds[fakeindex]);
mp.start();
mp.setOnCompletionListener(new OnCompletionListener() {
@Override
public void onCompletion(MediaPlayer mp) {
mp.release();// you missed this code
}
});
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.