2011-07-28 16 views
0

いくつかの類似の質問を読んだところ、このエラーが発生したすべての開発者はインターネットからメディアファイルをストリーミングする際にこの現象が発生することがわかりました。AudioHardware pcm再生がSDカードから再生するためにスタンバイエラーになる

SDカードからオーディオファイル(MP3)を使用しており、サービスで再生しています。私はそれらをお互いに演奏し、ある時点でタイトルに表示されたメッセージでMediaPlayerが死ぬ。登録されたOnErrorListenerを介してエラーをスローしません。それは、ファイルの最後の曲の後で単に死んでいるだけです。同じファイルオーダーを使用すると、常に同じファイルになります。

アプリケーションをトレースしても、メモリ消費は増加しませんでした。私はGCを避けるためにMediaPlayerを静的にしようとしました。最後のアプローチは、MediaPlayerを静かに閉じ、静的変数をNULLにして、新しいものをすべて作成して再起動することでした。これは役に立たなかった。ハードウェアがなくなったら、それはなくなってしまいます。

私はGoogle Nexus Oneでこれを体験しています。私は助けが必要です。私はファイルの最後の3秒前にフェードアウトのヒントを読んだ。これは本当に解決策ですか、どうすればいいですか?

事前に感謝します。うまく

答えて

1

、私はバグが まだ本当のアンドロイド火災onCompletionイベント(mediaPlayer.isPlaying)しばらくはので、私の考えは次のmp3

を再生する前にメディアプレーヤーを停止することであるということだと思います 、uはMediaPlayerのの「onCompletion」イベントを実施して考えます

このようなもの...

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 ... 
     */ 
} 
関連する問題