2016-12-13 20 views
2

ここであまりにも多くのスタックオーバーフローで検索しましたが、私の問題の解決策が見つかりません。MediaPlayerエラー(1、-1004)

「MEDIA_ERROR_IO」コード-1004というメディアプレーヤーエラーが表示されています。

私はサーバーからすべてのオーディオをストリームしています。歌を準備してonPrepared()メソッドで開始します。

着信があり、電話の鳴動が始まると問題が発生し、BroadcastReceiverクラスのmediaPlayer.pause()を呼び出して、曲を一時停止します。

電話がmediaPlayer.start()を呼び出すことによって、オーディオを再起動終了

オーディオ開始されますが、2〜3秒後にはMediaPlayerのエラーでエラーで停止した(1、-1004) 。

どうすればよいですか?

ヘルプは相当です。

ありがとうございます。

答えて

1

オーディオは開始されますが、2-3秒後にエラーが発生し、それは MediaPlayerエラー(1、-1004)で終了します。

まず、エラー(1、-1004)は何を意味するのかを理解しています。 -1004はIOエラーのエラーコードです。 MediaPlayer.javaソースコードの下にある参照。

/** File or network related operation errors. */ 
public static final int MEDIA_ERROR_IO = -1004; 

このタイプのエラーは、何らかの理由でネットワークの問題によりサーバーに接続できない場合に発生します。そのインスタンスで悪いインターネット接続や、メディアプレーヤーがサーバーに接続できなかったネットワーク関連の理由がある可能性があります。タイムアウトまたはサーバが死んだようにメディアプレーヤーを投げることができますいくつかの他の同様のエラーコードがあります

/** Some operation takes too long to complete, usually more than 3-5 seconds. */ 
    public static final int MEDIA_ERROR_TIMED_OUT = -110; 
/** Media server died.*/ 
    public static final int MEDIA_ERROR_SERVER_DIED = 100; 

今私は何をすべき?

実行時にメディアプレーヤーによって生成されるエラーを処理するには、エラーリスナーを実装する必要があります。どのような方法でも、プレーヤーを再起動するなどのエラーを処理することができます。

mediaPlayer.setOnErrorListener(new MediaPlayer.OnErrorListener() { 
      @Override 
      public boolean onError(MediaPlayer mp, int what, int extra) { 
       switch(extra){ 
        case MediaPlayer.MEDIA_ERROR_SERVER_DIED: 
         // Do Something 
         // eg. reset the media player and restart 
         break; 
        case MediaPlayer.MEDIA_ERROR_IO: 
         // Do Something 
         // eg. Show dialog to user indicating bad connectivity 
         // or attempt to restart the player 
         break; 
        case MediaPlayer.MEDIA_ERROR_TIMED_OUT: 
         //Do Something 
         //eg. Show dialog that there was error in connecting to the server 
         // or attempt some retries 
         break; 
       } 
       //You must always return true if you want the error listener to work 
       return true; 
      } 
     }); 
関連する問題