日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

android之视频直播与播放Vitamio

發布時間:2023/12/3 编程问答 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 android之视频直播与播放Vitamio 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

直播APP

l? 直播原理

直播本質:實時推送/拉取過來的音視頻數據


直播相關的協議:

l? RTMP(實時消息的傳輸協議)

RTMP協議是一個互聯網TCP/IP五層體系結構中的應用層協議

RTMP協議可以用來推送又可以用來直播

RTMP協議中基本的數據單元成為消息(Message)


RTMP協議在互聯網傳輸數據的時候,消息會被拆分成更小的單元,成為消息塊(Chunk)


二:FLV協議

FLV協議是在大塊的視頻幀和音頻幀頭部加入一些標記條信息。

FLV協議在延遲變現 ?和 ?大規模并發方面和成熟

FLV非常適合 ?手機端APP的直播協議

三:HLS

???? 蘋果推出的解決方案:

???? 將視頻分成5~10秒的視頻小分片,然后用m3u8索引進行管理。

???? HLS在iphone和大部分Android手機瀏覽器上的支持非常給力,

常用的想QQ和微信朋友圈的URL分享。

什么是m3U8


VItamio操作:

Vitamio 能夠流暢播放720P甚至1080P高清MKV,FLV,MP4,MOV,TS,RMVB等常見格式的視頻,還可以在Android 上支持 MMS, RTSP, RTMP, HLS(m3u8) 等常見的多種視頻流媒體協議,包括點播與直播。?

Github下載地址:https://github.com/yixia/VitamioBundle

???? 第一步在GitHub上下載Vitamio的依賴庫,下載后的結構為:


之后將Vitamio文件夾作為Module導入到項目中。


將module導入到APP中,作為依賴庫使用




或者直接在app的build.gradle中添加


將Vitamio的依賴庫導入到APP中!

注意:最好是將Vitamio—res下的raw中的libarm.so ??so

文件復制到app?res ?下的raw中:

之后可能會出現的 問題是:顯示api過期等問題,

學要在build,gradle中加入代碼:


之后將defaultConfig中的targetSdkVersion設置為21 Vitamio的版本為4.0.0。此版本測試為21 不會出現問題!之后clear一下過程!編輯即可通過!!

清單文件的操作:

添加必要的權限:

<uses-permission android:name="android.permission.WAKE_LOCK"/>
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>

導入actiivity

<activity
??? android:name="io.vov.vitamio.activity.InitActivity"
??? android:configChanges="orientation|screenSize|smallestScreenSize|keyboard|keyboardHidden|navigation"
??? android:launchMode="singleTop"
??? android:theme="@android:style/Theme.NoTitleBar"
??? android:windowSoftInputMode="stateAlwaysHidden"
/>

XML布局的設置:

布局使用io.vov.vitamio.widget.VideoView中的VideoView,切記不要使用原始的VideoView。

?

?

Activity的操作:

1、??????檢測Vitamio框架是否可以使用

??? if(!LibsChecker.checkVitamioLibs(this)) {

??????????? return;

??????? }

不建議使用模擬器進行測試,真機測試出現 閃退的情況(說明Vitamio不能使用)上面代碼直接用Toast進行的是。

2、??????初始化加載庫文件

?? Vitamio.Initialized(getApplicationContext());

3、??????判讀初始化是否成功(模擬器部分顯示不成功)

?? Vitamio.isInitialized(getApplicationContext());

返回值為boolean,true表示初始化成功,false表示初始化失敗。

4、??????設置播放的url地址

mVideoView.setVideoURI(Uri.parse(url));

???? 5、???? 設置控制器(this表示系統知道的模式,可以自定義)

MediaControllercontroller = new MediaController(this);

???????????videoView.setMediaController(controller);

???? 實現的接口:





函數:



















總結

以上是生活随笔為你收集整理的android之视频直播与播放Vitamio的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。