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


咨詢(xún)
建站咨詢(xún)

