新聞中心
- live-player 實時視頻播放器
- 屬性說明
- orientation 有效值
- object-fit 有效值
- 主流格式支持
- 主流編碼格式支持
- 狀態(tài)碼
- 網(wǎng)絡(luò)狀態(tài)數(shù)據(jù)
- 示例
- 代碼示例
- Bug & Tip
- Web 態(tài) Tip
- Tip1:在部分瀏覽器下,視頻資源無法自動播放的解決方案
- Tip2:視頻類資源地址必須有文件擴展名(即文件后綴)
- Tip3:在部分瀏覽器下,實時視頻播放器會遮擋其他頁面元素 / 小窗播放問題的解決方案
- Tip4:在部分瀏覽器下,視頻播放器退出全屏后會暫停播放
- 屬性說明
live-player 實時視頻播放器
v3.140.1 起支持同層渲染,更多請參考原生組件。從基礎(chǔ)庫版本 1.12.0 開始支持事件捕獲、冒泡。
解釋:實時視頻播放器。live-player 組件默認(rèn)寬度 300px 、高度 225px 。該組件還提供豐富的 API ,來控制實時視頻的播放、暫停、全屏等,詳見 swan.createLivePlayerContext 。只針對直播答題、直播服務(wù)類目開放,需要先通過類目審核,再在小程序管理后臺,“開發(fā)管理 -> 功能管理”頁面的“實時音視頻播放”模塊中自助開通該組件權(quán)限。
支持服務(wù)類目
| 一級類目 | 二級類目 |
|---|---|
| 娛樂 | 直播、直播答題 |
屬性說明
| 屬性名 | 類型 | 默認(rèn)值 | 必填 | 說明 | Web 態(tài)說明 |
|---|---|---|---|---|---|
| - | |||||
| - | |||||
| - | |||||
| - | |||||
| - | |||||
orientation 有效值
| 值 | 說明 |
|---|---|
| vertical | 垂直方向 |
| horizontal | 水平方向 |
object-fit 有效值
| 值 | 說明 |
|---|---|
| contain | 包含 |
| fillCrop | 填充 |
主流格式支持
| 格式 | Android | iOS | Web 態(tài) |
|---|---|---|---|
| mp4 | 是 | 是 | 是 |
| mov | 是 | 是 | 是 |
| m4v | 是 | 是 | 是 |
| 3gp | 是 | 是 | 否 |
| avi | 是 | 是 | 否 |
| m3u8 | 是 | 是 | 是 |
| webm | 是 | 否 | 否 |
| flv | 是 | 是 | 否 |
| mkv | 是 | 是 | 否 |
| rmvb | 是 | 是 | 否 |
| rm | 是 | 是 | 否 |
| ogg | 是 | 是 | 是 |
主流編碼格式支持
| 格式 | Android | iOS |
|---|---|---|
狀態(tài)碼
| 代碼 | 說明 | Web 態(tài)說明 |
|---|---|---|
| 2001 | 已經(jīng)連接服務(wù)器 | 暫不支持 |
| 2002 | 已經(jīng)連接服務(wù)器,開始拉流 | - |
| 2003 | 網(wǎng)絡(luò)接收到首個視頻數(shù)據(jù)包(IDR) | - |
| 2004 | 視頻播放開始 | - |
| 2005 | 視頻播放進(jìn)度 | - |
| 2006 | 視頻播放結(jié)束 | - |
| 2007 | 視頻播放 Loading | - |
| 2008 | 解碼器啟動 | 暫不支持 |
| 2009 | 視頻分辨率改變 | 暫不支持 |
| -2301 | 網(wǎng)絡(luò)斷連,且經(jīng)多次重連搶救無效,更多重試請自行重啟播放 | - |
| -2302 | 獲取加速拉流地址失敗 | 暫不支持 |
| 2101 | 當(dāng)前視頻幀解碼失敗 | - |
| 2102 | 當(dāng)前音頻幀解碼失敗 | 暫不支持 |
| 2103 | 網(wǎng)絡(luò)斷連,已啟動自動重連 | 暫不支持 |
| 2104 | 網(wǎng)絡(luò)來包不穩(wěn):可能是下行帶寬不足,或由于主播端出流不均勻 | - |
| 2105 | 當(dāng)前視頻播放出現(xiàn)卡頓 | - |
| 2106 | 硬解啟動失敗,采用軟解 | 暫不支持 |
| 2107 | 當(dāng)前視頻幀不連續(xù),可能丟幀 | 暫不支持 |
| 2108 | 當(dāng)前流硬解第一個 I 幀失敗,SDK 自動切軟解 | 暫不支持 |
| 3001 | RTMP -DNS 解析失敗 | 暫不支持 |
| 3002 | RTMP 服務(wù)器連接失敗 | 暫不支持 |
| 3003 | RTMP 服務(wù)器握手失敗 | 暫不支持 |
| 3005 | RTMP 讀/寫失敗 | 暫不支持 |
網(wǎng)絡(luò)狀態(tài)數(shù)據(jù)
| 鍵名 | 說明 |
|---|---|
| videoBitrate | 當(dāng)前視頻編 / 碼器輸出的比特率(單位:kbps) |
| audioBitrate | 當(dāng)前音頻編 / 碼器輸出的比特率(單位:kbps) |
| videoFPS | 當(dāng)前視頻幀率 |
| videoGOP | 當(dāng)前視頻 GOP(單位:s),也就是每兩個關(guān)鍵幀(I 幀)間隔時長。(安卓不支持該鍵名) |
| netSpeed | 當(dāng)前的發(fā)送/接收速度 |
| netStatus | 網(wǎng)絡(luò)狀態(tài):-1 為未知;0 為網(wǎng)絡(luò)不可用;1 為無線廣域網(wǎng)連接;2 為 WiFi 連接。(安卓不支持該鍵名) |
| videoWidth | 視頻畫面的寬度 |
| videoHeight | 視頻畫面的高度 |
示例
跳轉(zhuǎn)編輯工具
在開發(fā)者工具中打開
在 WEB IDE 中打開
掃碼體驗
代碼示例
請使用百度APP掃碼
代碼示例
- SWAN
- JS
id="myLive"src="{{src}}"autoplay="{{autoplay}}"muted="{{muted}}"orientation="{{orientation}}"object-fit="{{objectFit}}"min-cache="{{minCache}}"max-cache="{{maxCache}}"bind:statechange="statechange"bind:netstatus="netstatus"bind:fullscreenchange="fullscreenchange">靜音 設(shè)置填充模式為包含
Bug & Tip
- Tip:支持 HLS、RTMP 以及 HTTP-FLV 協(xié)議。
Web 態(tài) Tip
Tip1:在部分瀏覽器下,視頻資源無法自動播放的解決方案
案例分析:
出于用戶體驗、節(jié)省流量等原因,iOS 的 Safari、版本號 66 及以上的 Chrome、以及大部分國產(chǎn)移動瀏覽器禁止視頻在非靜音狀態(tài)下自動播放。因此,Web 態(tài)針對 live-player 組件中 autoplay 屬性設(shè)置為 true 后做了如下處理:
- 對于 QQ、Android 微信、 QQ 瀏覽器等基于 X5 內(nèi)核的平臺,Web 態(tài)下設(shè)置的
autoplay = true不生效,頁面進(jìn)入時,播放器上顯示播放按鈕供用戶主動點擊觸發(fā)播放。 - 對于其他非 X5 內(nèi)核的平臺,為保證頁面進(jìn)入時可自動播放,會默認(rèn)關(guān)閉聲音播放,并顯示“取消靜音”按鈕,供用戶主動開啟聲音。
- 為“取消靜音”和播放按鈕設(shè)置了較高的 z-index 樣式層級,開發(fā)者可以根據(jù)需要來決定是否覆蓋這兩類按鈕。
由于瀏覽器種類眾多,如出現(xiàn)自動播放相關(guān)新問題,請將案例反饋給我們,我們將統(tǒng)一記錄并反饋進(jìn)展。
Tip2:視頻類資源地址必須有文件擴展名(即文件后綴)
由于瀏覽器無法解析資源格式。因此對于視頻類資源,應(yīng)在地址中通過后綴名顯式聲明資源格式,否則可能會導(dǎo)致視頻無法正常播放:
- Web 態(tài) live-player 組件目前支持 mp4、mov、m4v、ogg、m3u8 等格式,參見主流格式支持。
- 當(dāng) live-player 組件的 src 屬性值沒有文件擴展名,視頻資源會被按照 mp4 格式來進(jìn)行解碼播放。
Tip3:在部分瀏覽器下,實時視頻播放器會遮擋其他頁面元素 / 小窗播放問題的解決方案
案例分析:
微信、百度 App、UC 等瀏覽器實現(xiàn)了自身的播放器控件,劫持了默認(rèn)內(nèi)核提供的播放器樣式和邏輯,從而使得基于 H5 video 實現(xiàn)的 Web 態(tài) live-player 組件出現(xiàn)了以下問題:
- 在 Android 系統(tǒng)的微信平臺、百度 App 和 UC 等國產(chǎn)移動瀏覽器下,live-player 組件的播放器會覆蓋到頁面其他內(nèi)容之上,且無法通過 z-index 控制層級,從而導(dǎo)致一些交互失效(比如無法上下滑動觸發(fā)切換視頻)。
- 在 OPPO 手機下的百度 App ,會出現(xiàn)小窗播放。
解決方案:
Web 態(tài)針對不同瀏覽器做了盡可能的修復(fù),以解決此問題。已修復(fù)的包括 QQ、Android 微信、QQ 瀏覽器等基于 X5 內(nèi)核的平臺,百度 App 。但由于瀏覽器種類眾多,有可能存在我們暫未覆蓋到的情況。如仍遇到上述問題,請您將案例反饋給我們,我們將統(tǒng)一記錄并反饋進(jìn)展。
Tip4:在部分瀏覽器下,視頻播放器退出全屏后會暫停播放
案例分析:
微信、QQ、QQ 瀏覽器等實現(xiàn)了自身的播放控件,從而使得 live-player 組件在退出全屏?xí)r出現(xiàn)視頻暫停播放的問題。
解決方案:
Web 態(tài)針對 Android 下的微信、QQ 等基于 X5 內(nèi)核的平臺在退出全屏?xí)r展示一個中間播放按鈕,供用戶點擊來繼續(xù)播放視頻。iOS 下因無法監(jiān)聽退出全屏事件,此問題暫無法解決。
當(dāng)前題目:創(chuàng)新互聯(lián)百度小程序教程:live-player 實時視頻播放器
網(wǎng)站鏈接:http://m.fisionsoft.com.cn/article/cohddjg.html


咨詢
建站咨詢

