Android 使用Vitamio打造自己的萬能播放器(5)——線上播放(播放優酷視頻)_Android

來源:互聯網
上載者:User

 前言

  為了保證每周一篇的進度,又由於Vitamio新版本沒有發布, 決定延遲本地播放的一些功能(截圖、視頻時間、尺寸等),跳過直接寫線上播放部分的章節。從Vitamio的介紹可以看得出,其支援http、m3u8等多種網路通訊協定,本章將編寫播放優酷視頻的例子。

系列 

1、Android使用Vitamio打造自己的萬能播放器(1)——準備  

2、Android使用Vitamio打造自己的Android萬能播放器(2)—— 手勢控制亮度、音量、縮放  

3、Android使用Vitamio打造自己的Android萬能播放器(3)——本地播放(主介面、視頻列表) 

4、Android使用Vitamio打造自己的Android萬能播放器(4)——本地播放(快捷搜尋、資料存放區) 

 本文 

     一、目標

1、正式命名"開播視頻",原意:"開源的視頻播放器",也有"開始播放視頻"的簡單意思,希望大家喜歡 :)

 2、採用內嵌優酷(3g.youku.com) 的方式,直接播放視頻檔案。

  二、實現

 FragmentOnline

public class FragmentOnline extends FragmentBase { private WebView mWebView; @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {  View v = inflater.inflate(R.layout.fragment_online, container, false);  mWebView = (WebView) v.findViewById(R.id.webview);  mWebView.setScrollBarStyle(View.SCROLLBARS_OUTSIDE_OVERLAY);  mWebView.getSettings().setJavaScriptEnabled(true);  mWebView.getSettings().setPluginsEnabled(true);  mWebView.loadUrl("http://3g.youku.com");  mWebView.setWebViewClient(new WebViewClient() {   @Override   public void onPageFinished(WebView view, String url) {   };   /** 頁面跳轉 */   @Override   public boolean shouldOverrideUrlLoading(WebView view, String url) {    if (FileUtils.isVideoOrAudio(url)) {     Intent intent = new Intent(getActivity(), VideoPlayerActivity.class);     intent.putExtra("path", url);     startActivity(intent);     return true;    }    return false;   };  });  mWebView.setOnKeyListener(new OnKeyListener() {   @Override   public boolean onKey(View v, int keyCode, KeyEvent event) {    if ((keyCode == KeyEvent.KEYCODE_BACK) && mWebView != null && mWebView.canGoBack()) {     mWebView.goBack();     return true;    }    return false;   }  });  return v; }

代碼說明:

       由於內嵌了3g.youku.com,頁面配置都非常完好,並且裡面擷取播放地址非常容易,只需監聽頁面跳轉即可。

  a). onKey處理後退事件,返回到上一個頁面

  b). 注意WebViewClinet的shouldOverrideUrlLoading方法,如果返回true頁面將不執行跳轉,這裡以後還會改進,播放失敗的話直接使用瀏覽器的flash播放。

  c). fragment_online的layout這裡就不貼了,就是一個WebView控制項。

       三、警告

視頻、書籍、音樂都是著作權很嚴格領域,如何避免著作權問題是需要認真考慮的問題。諮詢了朋友,本文採取的方式是可以的,一般以主要判定是否有著作權就是看是否去除廣告,恰巧3g.youku.com的視頻都是不帶廣告的,直接的mp4檔案播放。

  四、相關文章

 通過反編譯得到 優酷視頻 真真實位址

 youku網視頻地址擷取原理

 優酷視頻真真實位址解析

  六、Vitamio及相關

 Vitamio:http://vov.io

  VPlayer:http://vplayer.net (使用Vitamio最成功的產品,使用者超過500萬)

結束 

       這裡本來是要取m3u8地址的,也已經取到,但目前的版本的vitamio無法播放解析出來的地址,也就直接使用mp4的地址了,簡單方面,這個問題再後續版本已經修複,從新版的VPlayer大家可以看一下效果。雖然目前為止只是一個Demo,仍努力朝著一款正式的產品方面邁進,希望到系列文章結束時能正式發布到市集供使用者使用,也歡迎大家多提建議~~

以上就是對Android Vitamio播放網路視頻的資料整理,後續繼續補充。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.