2012-02-23 66 views
0

MediaPlayer當我將損壞的音頻文件傳遞給它時,我的應用程序凍結而不會引發異常。這是我的代碼:android.media.MediaPlayer無一例外地崩潰

try 
{ 
    if (this.mediaPlayer.isPlaying()) 
    { 
     this.mediaPlayer.reset(); 
    } 

    this.mediaPlayer.setDataSource(this.currentSong.getFile() /* path string */); 
    this.mediaPlayer.prepare(); 
    this.mediaPlayer.start(); 
} 
catch (Exception e) 
{ 
    Log.v("Oh snap", "MediaPlayer exception: " + e.toString()); 
} 

我該怎麼辦?我需要一個例外來妥善處理損壞的文件。該測試設備是運行Android 2.3.6的三星Galaxy S2,我的API級別爲8級。

我不確定傳遞給MediaPlayer的損壞的flac文件有什麼問題。我所知道的是,他們也崩潰了我的應用程序和股票音樂播放器,這不應該發生。

+0

你試過調試嗎? – JackTurky 2012-02-23 17:58:36

+0

是的,沒有例外或警告。 – John 2012-02-23 17:59:30

回答

1

如果是本地崩潰,那麼只能從Java層進行很少的操作。請檢查this answer,以獲取您需要做的可怕黑客攻擊的微妙指南。