2012-01-24 12 views
1

WebViewコントロールを使用してウェブページを表示しているアプリがあります。私は、WebViewコントロール内から再生するMP4ビデオを取得することはできませんので、私は別のルートを行く必要があります。URLがAndroidアプリのmp4動画へのリンクであるかどうかを確認しますか?

URLがmp4ビデオリンクであるかどうかを判断できるように、shouldOverrideUrlLoadingメソッドのWebViewClientをオーバーライドしています。そうであれば、アンドロイドの内部ビデオプレーヤーへのリンクを送信したい、そうでなければ、それを続行します。

私は文字列を解析できましたが、私はUriクラスを使用したいと思います。私はURLを初めて知っていて、URLの形式(コンポーネント)を理解していません。

http://www.mobilityinitiative-test.com/images/stories/videos/Introduction.mp4 
and 
http://www.mobilityinitiative-test.com/images/stories/videos/Synergy.mp4 

が実際にはmp4ビデオへのリンクであるかどうかを確認するにはどうすればよいですか?

内部ビデオプレーヤーを起動するにはどうすればよいですか?私はいくつかの方法を見てきました。

答えて

0

は、お客様のカスタムWebChromeClient()shouldOverrideUrlLoading()機能を上書きします。

@Override 
     public boolean shouldOverrideUrlLoading(WebView view, String url) 
     { 
      //handle all audio and video links to mp3, mp4 and 3gp files 
      if (url.contains(".mp3")) 
      { 
       Intent intent = new Intent(Intent.ACTION_VIEW); 
       intent.setDataAndType(Uri.parse(url), "audio/*"); 
       view.getContext().startActivity(intent); 
       return true; 
      } 
      else if (url.contains(".mp4") || url.contains(".3gp")) 
      { 
       Intent intent = new Intent(Intent.ACTION_VIEW); 
       intent.setDataAndType(Uri.parse(url), "video/*"); 
       view.getContext().startActivity(intent); 
       return true; 
      } 
      else 
      { 
       return super.shouldOverrideUrlLoading(view, url); 
      } 

     } 
0

おそらく開いているドキュメントのMIMEタイプ(video/mp4)の後です。

私は、サンプルコードを投稿したいが、利用可能な複数の例がここに既にあります:http://www.rgagnon.com/javadetails/java-0487.html

私はのjava.net.URL(第2例)に基づく例で始まるをお勧めします。

関連する問題