2011-07-28 48 views
0

在閱讀了幾個類似的問題後,我發現遇到此錯誤的所有開發人員在從Internet上流媒體文件時都會看到此行爲。AudioHardware pcm播放將從SD卡播放待機錯誤

我使用SD卡中的音頻文件(MP3),並在服務中播放它們。我確實一個接一個地播放它們,並且在某些時候,MediaPlayer會隨着標題中顯示的消息而死亡。它不會通過註冊的OnErrorListener引發任何錯誤。在其中一個文件的最後一首曲目後,它就死定了。如果我使用相同的文件順序,它總是相同的文件。

跟蹤應用程序未顯示內存消耗有任何增長。我甚至試圖讓MediaPlayer成爲靜態以避免GC。最後一種方法是徹底關閉MediaPlayer,將其靜態變量設爲NULL,並創建並重新啓動所有內容。這沒有幫助。如果硬件消失了 - 消失了。

我確實使用Google Nexus One來體驗這一點,我需要幫助。我讀了一個提示,在文件結束前三秒鐘淡出。這真的是一個解決方案,我應該怎麼做?

非常感謝提前。

回答

1

好,我覺得你實現「onCompletion」事件的MediaPlayer的, 我認爲錯誤是,Android的火災onCompletion事件而(mediaPlayer.isPlaying)依然如此 所以我的想法是打接下來的MP3

之前停止媒體播放器

像這樣的東西...

public void onCompletion(MediaPlayer mp) { 
        if(mp != null && mp.isPlaying()){ 
      Log.d("onCompletion", "mp is playing !!! stop it!!!"); 
      mp.stop(); 
     } 
     /* 
     play next item here or prepare or ... 
     */ 
}