我目前正在开发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);
}
}
}
答案 0 :(得分:0)
如果您使用媒体播放器,您还应该释放您的媒体播放器使用此代码
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
}
});