3

MediaPlayerprepareAsync()関数 を使用しています。

私のコードは次のようになります:

try {
  mediaPlayer.setDataSource(stream_url);
  mediaPlayer.prepareAsync();
} catch (Exception e) {
  e.printStackTrace();
}

mediaPlayer.setOnPreparedListener(new OnPreparedListener() {
    @Override
    public void onPrepared(MediaPlayer mp) {
        mp.start();
    }
});     

問題は、stream_url音楽を再生している場合と再生してstream_urlいない場合があることです。stream_url音楽を再生していない場合、どうすればユーザーに通知できますか?ある種のタイムアウトやキャッチできるエラーはありますか?現在何もスローされていません。asycnを呼び出すだけで、ストリームがない場合は何も実行されません。

4

1 に答える 1

2

ドキュメントを見ると、リスナーに利用可能なセッターがあり、非同期操作のエラーをチェックできるセッターがあります。

MediaPlayer.OnErrorListener 

非同期操作中にエラーが発生したときに呼び出されるコールバックのインターフェース定義 (その他のエラーは、メソッド呼び出し時に例外をスローします)。

于 2012-04-24T01:26:55.167 に答える