2012-01-24 32 views
1

我有一個應用程序顯示使用WebView控件的網頁。我無法從WebView控件中播放MP4視頻,因此我必須採用不同的路線。確定一個URL是否是Android應用中的mp4視頻的鏈接?

我重寫shouldOverrideUrlLoading方法WebViewClient,以便我可以確定該URL是否是mp4視頻鏈接。如果是這樣,我想發送鏈接到android內部視頻播放器,否則,讓它繼續。

我可以解析字符串,但我想使用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); 
      } 

     } 
相關問題