Android 使用Vitamio打造自己的萬能播放器(5)——在線播放(播放優(yōu)酷視頻)
前言
為了保證每周一篇的進(jìn)度,又由于Vitamio新版本沒有發(fā)布, 決定推遲本地播放的一些功能(截圖、視頻時(shí)間、尺寸等),跳過直接寫在線播放部分的章節(jié)。從Vitamio的介紹可以看得出,其支持http、m3u8等多種網(wǎng)絡(luò)協(xié)議,本章將編寫播放優(yōu)酷視頻的例子。
系列
1、Android使用Vitamio打造自己的萬能播放器(1)——準(zhǔn)備
2、Android使用Vitamio打造自己的Android萬能播放器(2)—— 手勢控制亮度、音量、縮放
3、Android使用Vitamio打造自己的Android萬能播放器(3)——本地播放(主界面、視頻列表)
4、Android使用Vitamio打造自己的Android萬能播放器(4)——本地播放(快捷搜索、數(shù)據(jù)存儲(chǔ))
正文
一、目標(biāo)
1、正式命名"開播視頻",原意:"開源的視頻播放器",也有"開始播放視頻"的簡單意思,希望大家喜歡 :)
2、采用內(nèi)嵌優(yōu)酷(3g.youku.com) 的方式,直接播放視頻文件。
二、實(shí)現(xiàn)
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) { }; /** 頁面跳轉(zhuǎn) */ @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; }
代碼說明:
由于內(nèi)嵌了3g.youku.com,頁面布局都非常完好,并且里面獲取播放地址非常容易,只需監(jiān)聽頁面跳轉(zhuǎn)即可。
a). onKey處理后退事件,返回到上一個(gè)頁面
b). 注意WebViewClinet的shouldOverrideUrlLoading方法,如果返回true頁面將不執(zhí)行跳轉(zhuǎn),這里以后還會(huì)改進(jìn),播放失敗的話直接使用瀏覽器的flash播放。
c). fragment_online的layout這里就不貼了,就是一個(gè)WebView控件。
三、警告
視頻、書籍、音樂都是版權(quán)很嚴(yán)格領(lǐng)域,如何避免版權(quán)問題是需要認(rèn)真考慮的問題。咨詢了朋友,本文采取的方式是可以的,一般以主要判定是否有版權(quán)就是看是否去除廣告,恰巧3g.youku.com的視頻都是不帶廣告的,直接的mp4文件播放。
四、相關(guān)文章
通過反編譯得到 優(yōu)酷視頻 真實(shí)地址
youku網(wǎng)視頻地址獲取原理
優(yōu)酷視頻真實(shí)地址解析
六、Vitamio及相關(guān)
Vitamio:http://vov.io
VPlayer:http://vplayer.net (使用Vitamio最成功的產(chǎn)品,用戶超過500萬)
結(jié)束
這里本來是要取m3u8地址的,也已經(jīng)取到,但當(dāng)前版本的vitamio無法播放解析出來的地址,也就直接使用mp4的地址了,簡單方面,這個(gè)問題再后續(xù)版本已經(jīng)修復(fù),從新版的VPlayer大家可以看一下效果。雖然目前為止只是一個(gè)Demo,仍努力朝著一款正式的產(chǎn)品方面邁進(jìn),希望到系列文章結(jié)束時(shí)能正式發(fā)布到應(yīng)用商店供用戶使用,也歡迎大家多提建議~~
以上就是對Android Vitamio播放網(wǎng)絡(luò)視頻的資料整理,后續(xù)繼續(xù)補(bǔ)充。
- Android GSYVideoPlayer視頻播放器功能的實(shí)現(xiàn)
- Android項(xiàng)目實(shí)現(xiàn)視頻播放器
- Android使用vitamio插件實(shí)現(xiàn)視頻播放器
- Android基于IJKPlayer視頻播放器簡單封裝設(shè)計(jì)
- Android視頻播放器屏幕左側(cè)邊隨手指上下滑動(dòng)亮度調(diào)節(jié)功能的原理實(shí)現(xiàn)
- Android多媒體之VideoView視頻播放器
- android webvie指定視頻播放器播放網(wǎng)站視頻
- Android 使用Vitamio打造自己的萬能播放器(10)—— 本地播放 (縮略圖、視頻信息、視頻掃描服務(wù))
- Android 使用Vitamio打造自己的萬能播放器(7)——在線播放(下載視頻)
- Android UniversalVideoView實(shí)現(xiàn)視頻播放器
相關(guān)文章
android Socket實(shí)現(xiàn)簡單聊天小程序
這篇文章主要為大家詳細(xì)介紹了android Socket實(shí)現(xiàn)簡單聊天小程序,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-06-06Android自定義ViewGroup實(shí)現(xiàn)流式布局
這篇文章主要為大家詳細(xì)介紹了Android自定義ViewGroup實(shí)現(xiàn)流式布局,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2020-09-09Android自定義View實(shí)現(xiàn)環(huán)形進(jìn)度條的思路與實(shí)例
最近看到豆瓣FM的音樂播放界面,有一個(gè)環(huán)形的進(jìn)度條挺不錯(cuò)的,最近有空就想著實(shí)現(xiàn)了,所以下面這篇文章主要給大家介紹了Android自定義View實(shí)現(xiàn)環(huán)形進(jìn)度條的思路與實(shí)例,需要的朋友可以參考借鑒,下面來一起看看吧。2017-04-04