2011-10-21 110 views
1

我試圖獲得使用mediaplayer的媒體文件的持續時間,所有工作正常,但我在DDMS中收到警告,如下所示。Android:未知的MediaPlayer警告

10-21 17:30:35.109: W/MediaPlayer(7564): mediaplayer went away with unhandled events 

我的代碼去如下

//mediaPlayer object initiated to get the duration 
MediaPlayer mediaPlayer; 
mediaPlayer = new MediaPlayer(); 
mediaPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC); 

try { 
mediaPlayer.setDataSource(AudioListActivity.this, Uri.parse((db_results.get(position)).toString())); 
mediaPlayer.prepare(); 
mediaPlayer.stop(); 
} catch (IllegalArgumentException e) { 
e.printStackTrace(); 
} catch (SecurityException e) { 
     e.printStackTrace(); 
} catch (IllegalStateException e) { 

e.printStackTrace(); 
} catch (IOException e) { 
e.printStackTrace(); 
} 
//getting duration 
int durationTime = 0; 
@SuppressWarnings("unused") 
TextView duration = (TextView) row.findViewById(R.id.textViewDuration); 
durationTime = mediaPlayer.getDuration(); 
mediaPlayer.release(); 

有人能幫助我。提前致謝。

回答

1

最好忽略此警告。

1)註釋代碼行MediaPlayer.release();並注意logcat;

2)在釋放mp之前,您可能需要重置Mediaplayer對象。在此之後測試mp.reset()。因爲有一段時間這會導致其他錯誤,例如「非法狀態異常」

3)如果您關心,請在try/catch中重置它並處理異常。

3

add:mediaPlayer.reset(); before mediaPlayer.release();