【发布时间】:2017-08-26 19:06:17
【问题描述】:
我的 MediaPlayer 出现问题,我已将其设置为一键播放和暂停。
它在第一次点击任何位置时播放,但之后没有任何播放,它在 logcat 中显示:
java.lang.IllegalStateException
08-23 11:06:40.330 6482-9285/package.com W/System.err: at android.media.MediaPlayer.nativeSetDataSource(Native Method)
08-23 11:06:40.330 6482-9285/package.com W/System.err: at android.media.MediaPlayer.setDataSource(MediaPlayer.java:1078)
08-23 11:06:40.330 6482-9285/package.com W/System.err: at android.media.MediaPlayer.setDataSource(MediaPlayer.java:103
我在 CustomListAdapter 的 getView 方法中调用此方法,声音通过 TabActivities 由数组传入:
public void setTheSounds(ImageView playPause, final int position){
try {
Thread t = new Thread(new Runnable() {
@Override
public void run() {
try {
if(!mp.isPlaying()){
mp.setDataSource(sound[+position]);
mp.prepare();
mp.start();
} else {
mp.pause();
}
} catch (Exception e) {
e.printStackTrace();
Log.e("GGGGGG", "prepare() failed");
}
}
});
t.start();
} catch (Exception e) {
e.printStackTrace();
}
}
【问题讨论】:
-
你看过这个answer
标签: java android android-studio android-fragments android-mediaplayer