2016-06-17 10 views
0

私はのURLから動画をつかむMediaPlayerを使用しています:MediaPlayerからFileNotFoundExceptionをキャッチするには?

try { 
     mediaPlayer = new MediaPlayer(); 
     mediaPlayer.setDataSource(this, uri); 
    }catch (FileNotFoundException e){ 
     e.printStackTrace(); 
    } catch (IOException e) { 
     e.printStackTrace(); 
    } 

私がしようとすると、たとえば、停止されていることを、URLとデータソースを設定すると、私は私のlogcatで、次のエラーが表示されます。

は、クライアント側で開いているファイルではありませんでした。サーバー側を試みる: java.io.FileNotFoundException:いいえ、コンテンツプロバイダ: http://example.com/examplevideo.mp4

はしかし、私のcatch{}は、私はエラーメッセージを表示することができ、私はそれがそうする必要がある、上記の次のコードでのトラップ、これをしません等...

は私のコードでこれにFileNotFoundExceptionをキャッチする方法はありますか?事前

+0

私はあなたが '' 'MediaPlayer.OnErrorListener'''でそのエラーをキャッチすることができると思います。 – danypata

答えて

0

感謝。

は、私は、ファイルが外部サーバからのものであることを言及するのを忘れてしまったが、Pramodさんが提案したものと同様のアプローチを採用したが、私のニーズに合うように変更されています。

/** 
    * Checks if an external file on a server exists. 
    * @param urlString The file URL 
    * @return true if file exists, false if does not 
    */ 
    public boolean checkExternalFileExists(String urlString){ 
     try { 
      URL url = new URL(urlString); 
      int response = ((HttpURLConnection)url.openConnection()).getResponseCode(); 
      return response == HttpURLConnection.HTTP_OK; 
     } 
     catch (FileNotFoundException e) { 
      return false; 
     }catch (MalformedURLException e) { 
      return false; 
     } catch (IOException e) { 
      return false; 
     } 
    } 

おかげ

0

おかげで私は、この特定の例外をキャッチする方法がわかりません。しかし、あなたはどんなタイプの例外も捕まえるために以下を使うことができます。すべての返信用

try { 
     mediaPlayer = new MediaPlayer(); 
     mediaPlayer.setDataSource(this, uri); 
    }catch (FileNotFoundException e){ 
     e.printStackTrace(); 
    } catch (IOException e) { 
     e.printStackTrace(); 
    } 
    catch (Exception e) 
    { 
     e.printStackTrace(); 
    } 
0
try { 
     mediaPlayer = new MediaPlayer(); 
     mediaPlayer.setDataSource(this, uri); 
    }catch (FileNotFoundException e){ 
     e.printStackTrace(); 
    } catch (IOException e) { 
     Log.i("your tag",e.toString()); 
    } 

and look at the log with the tag you whant 
関連する問題