W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗(yàn)值獎勵
解釋:實(shí)時視頻播放器(v3.140.1 起支持 同層渲染 )。live-player 組件還提供豐富的 api, 來控制實(shí)時視頻的播放、暫停、全屏等,詳見 swan.createLivePlayerContext。只針對直播答題、直播服務(wù)類目開放。需要先通過類目審核,再在小程序管理后臺,“開發(fā)管理-功能管理”頁面的“實(shí)時音視頻播放”模塊中自助開通該組件權(quán)限。
屬性名 | 類型 | 默認(rèn)值 | 必填 | 說明 | Web 態(tài)說明 |
---|---|---|---|---|---|
id |
String |
是 |
live-player 屬性的唯一標(biāo)志符 |
- | |
src |
String |
是 |
音視頻地址。目前僅支持 m3u8 格式 |
- | |
autoplay |
Boolean |
false |
否 |
自動播放 |
存在瀏覽器兼容問題,詳見下方 Web 態(tài) Tip1 |
muted |
Boolean |
false |
否 |
是否靜音 |
- |
orientation |
String |
vertical |
否 |
畫面方向,有效值有 vertical,horizontal,目前僅支持安卓端使用該屬性。 |
此屬性對 Web 態(tài)不生效 |
object-fit |
String |
contain |
否 |
填充模式,有效值:contain、fillCrop |
- |
background-mute |
Boolean |
false |
否 |
進(jìn)入后臺時是否靜音(已廢棄,默認(rèn)退臺靜音) |
默認(rèn)退臺靜音,設(shè)置為 false 后不生效 |
min-cache |
Number |
1 |
否 |
最小緩沖區(qū),單位 s |
此屬性對 Web 態(tài)不生效 |
max-cache |
Number |
3 |
否 |
最大緩沖區(qū),單位 s |
此屬性對 Web 態(tài)不生效 |
bindstatechange |
EventHandle |
否 |
播放狀態(tài)變化事件,參考下方狀態(tài)碼表格,detail = {code} |
- | |
bindnetstatus |
EventHandle |
否 |
網(wǎng)絡(luò)狀態(tài)變化通知,參考下方網(wǎng)絡(luò)狀態(tài)數(shù)據(jù)表格,detail = {info} |
||
bindfullscreenchange |
EventHandle |
否 |
全屏變化事件,detail = {direction, fullscreen}。 |
Web 態(tài)下監(jiān)聽到全屏事件時,無法檢測全屏屏幕方向,因此 direction 屬性始終為 0 |
值 | 說明 |
---|---|
vertical |
垂直方向 |
horizontal |
水平方向 |
值 | 說明 |
---|---|
contain |
包含 |
fillCrop |
填充 |
格式 | Android | IOS | Web 態(tài) |
---|---|---|---|
mp4 |
是 |
是 |
是 |
mov |
是 |
是 |
是 |
m4v |
是 |
是 |
是 |
3gp |
是 |
是 |
否 |
avi |
是 |
是 |
否 |
m3u8 |
是 |
是 |
是 |
webm |
是 |
否 |
否 |
flv |
是 |
是 |
否 |
mkv |
是 |
是 |
否 |
rmvb |
是 |
是 |
否 |
rm |
是 |
是 |
否 |
ogg |
是 |
是 |
是 |
格式 | Android | IOS |
---|---|---|
H.263 |
是 |
是 |
H.264 |
是 |
是 |
HEVC |
是 |
是 |
MPEG-4 |
是 |
否 |
VP8 |
是 |
否 |
VP9 |
是 |
否 |
代碼 | 說明 | 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 讀/寫失敗 |
暫不支持 |
鍵名 | 說明 |
---|---|
videoBitrate |
當(dāng)前視頻編/碼器輸出的比特率,單位 kbps |
audioBitrate |
當(dāng)前音頻編/碼器輸出的比特率,單位 kbps |
videoFPS |
當(dāng)前視頻幀率 |
videoGOP |
當(dāng)前視頻 GOP,也就是每兩個關(guān)鍵幀(I 幀)間隔時長,單位 s (安卓不支持該鍵名) |
netSpeed |
當(dāng)前的發(fā)送/接收速度 |
netStatus |
網(wǎng)絡(luò)狀態(tài):-1 為未知;0 為網(wǎng)絡(luò)不可用;1 為無線廣域網(wǎng)連接;2 為 WiFi 連接 。(安卓不支持該鍵名) |
videoWidth |
視頻畫面的寬度 |
videoHeight |
視頻畫面的高度 |
代碼示例
<view class="wrap">
<view class="card-area">
<live-player
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">
</live-player>
<view class="button-group">
<button type="primary" bind:tap="livePlay">開始播放</button>
<button type="primary" bind:tap="liveStop">停止播放</button>
<button type="primary" bind:tap="liveMute">{{muted? '設(shè)置': '設(shè)置不'}}靜音</button>
<button type="primary" bind:tap="objectFit">object-fit為{{objectFit}}</button>
</view>
</view>
</view>
Tip1:在部分瀏覽器下,視頻資源無法自動播放的解決方案
案例分析:出于用戶體驗(yàn)、節(jié)省流量等原因,iOS 的 Safari、版本號 66 及以上的 Chrome、以及大部分國產(chǎn)移動瀏覽器禁止視頻在非靜音狀態(tài)下自動播放。因此,Web 態(tài)針對 live-player 組件中 autoplay 屬性設(shè)置為 true 后做了如下處理:
由于瀏覽器種類眾多,如出現(xiàn)自動播放相關(guān)新問題,請將案例反饋給我們,我們將統(tǒng)一記錄并反饋進(jìn)展。
Tip2:視頻類資源地址必須有文件擴(kuò)展名(即文件后綴)
由于瀏覽器無法解析資源格式。因此對于視頻類資源,應(yīng)在地址中通過后綴名顯式聲明資源格式,否則可能會導(dǎo)致視頻無法正常播放:
Tip3:在部分瀏覽器下,實(shí)時視頻播放器會遮擋其他頁面元素 / 小窗播放問題的解決方案
案例分析:微信、百度 APP、UC 等瀏覽器實(shí)現(xiàn)了自身的播放器控件,劫持了默認(rèn)內(nèi)核提供的播放器樣式和邏輯,從而使得基于 H5 video 實(shí)現(xiàn)的 Web 態(tài) live-player 組件出現(xiàn)了以下問題:
解決方案:
Web 態(tài)針對不同瀏覽器做了盡可能的修復(fù),以解決此問題。已修復(fù)的包括 QQ、Android 微信、QQ 瀏覽器等基于 X5 內(nèi)核的平臺,百度 APP。但由于瀏覽器種類眾多,有可能存在我們暫未覆蓋到的情況。如仍遇到上述問題,請您將案例反饋給我們,我們將統(tǒng)一記錄并反饋進(jìn)展。
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網(wǎng)安備35020302033924號
違法和不良信息舉報(bào)電話:173-0602-2364|舉報(bào)郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: