視頻
saveVideoToPhotosAlbum
TIP
該API使用方法為: wx.saveVideoToPhotosAlbum(Object object)
功能說明: 保存視頻系統相册。 支持mp4視頻格式。
參數及說明: Object object
内容 類型 預設值 必填 說明 filePath string - 是 視頻文件路徑,可以是暫存文件路徑也可以是永久文件路徑 success Function - 否 接口調用成功的回呼函數 fail Function - 否 接口調用失敗的回呼函數 complete Function - 否 接口調用結束的回呼函數(無論成功與否都執行) 示例代碼:
wx.saveVideoToPhotosAlbum({
filePath: 'wxfile://xxx',
success(res) {
console.log(res.errMsg)
},
})createVideoContext
TIP
該API使用方法為: VideoContext wx.createVideoContext(string id, Object this)
- 功能說明: 創建video上下文 VideoContext 對象
- 參數及說明:
- string id: <video>組件的id。
- 在自定義組件下,當前組件實例的this,以操作組件內 <
video> 組件。
- 返回值: VideoContext
chooseVideo
TIP
該API使用方法為: wx.chooseVideo(Object object)
功能說明: 拍攝視頻或從手機相册中選視頻。
參數及說明: Object object
内容 類型 預設值 必填 說明 sourceType Array.< string>['album', 'camera'] 否 視頻選擇來源 compressed boolean true 否 是否壓縮所選擇的視頻文件 maxDuration number 60 否 拍攝視頻,最長拍攝時間,單位:秒 camera string 'back' 否 默認拉起的是前置或者後置監視器,部分Android手機下由於系統ROM不支持無法生效 success Function - 否 接口調用成功的回呼函數 fail Function - 否 接口調用失敗的回呼函數 complete Function - 否 接口調用結束的回呼函數(無論成功與否都執行) object.sourceType的合法值
值 說明 album 從相册選擇視頻 camera 使用相機拍攝視頻 object.camera的合法值
值 說明 back 默認拉起後置監視器 front 默認拉起前置監視器 object.success回呼函數參數: Object res。
内容 類型 說明 tempFilePath string 選定視頻的暫存文件路徑 duration number 選定視頻的時間長度 size number 選定視頻的數據量大小,單位B height number 返回選定視頻的高度 width number 返回選定視頻的寬度 示例代碼:
wx.chooseVideo({
sourceType: ['album', 'camera'],
maxDuration: 60,
camera: 'back',
success(res) {
console.log(res.tempFilePath)
},
})compressVideo
TIP
該API使用方法為: wx.compressVideo(Object object)
功能說明: 壓縮視頻接口,開發者可指定壓縮質量quality進行壓縮,當需要更精細的控制時,可指定bitrate、 fps、 和resolution,當quality傳入時,這三個參數將被忽略。
參數及說明: Object object
内容 類型 必填 說明 src string 是 視頻文件路徑,可以是暫存文件路徑也可以是永久文件路徑 quality string 是 壓縮質量,合法值為:
low:低
medium:中
high:高bitrate number 是 碼率,單位kbps fps number 是 幀率 resolution number 是 相對於原視頻的分辯率比例,取值範圍(0,1] success Function 否 接口調用成功的回呼函數 fail Function 否 接口調用失敗的回呼函數 complete Function 否 接口調用結束的回呼函數(無論成功與否都執行) object.success回呼函數參數: Object res。
内容 類型 說明 tempFilePath string 壓縮後的暫存文件地址 size number 壓縮後的大小,單位kB
chooseMedia
TIP
該API使用方法為: wx.chooseMedia(Object object)
功能說明: 拍攝或從手機相册中選擇圖片或視頻。
參數及說明: Object object
内容 類型 預設值 必填 說明 count number 15 否 最多可以選擇的文件個數,最多可支持15個文件 mediaType Array.< string>['image','video'] 否 文件類型,合法值為:
image:只能拍攝圖片或從相册選擇圖片
video:只能拍攝或從相册選擇視頻sourceType Array.< string>['album', 'camera'] 否 圖片和視頻選擇的來源,合法值為:
album:從相册選擇
camera:使用相機拍攝maxDuration number 10 否 拍攝視頻最長拍攝時間,單位秒。 時間範圍為3s至60s之間。 不限制相册。 sizeType Array.< string>['original', 'compressed'] 否 僅對mediaType為image時有效,是否壓縮所選文件 camera string 'back' 否 僅在sourceType為camera時生效,使用前置或後置監視器,合法值為:
album:使用後置監視器
camera:使用前置監視器success Function - 否 接口調用成功的回呼函數 fail Function - 否 接口調用失敗的回呼函數 complete Function - 否 接口調用結束的回呼函數(無論成功與否都執行) object.success回呼函數參數: Object res。
内容 類型 說明 tempFiles Array.< Object>本地暫存文件清單 type string 文件類型,有效值有image、 video tempFiles結構内容
結構内容 類型 說明 tempFilePath string 本地暫存文件路徑(本地目錄) size number 本地暫存文件大小,單位B duration number 視頻的時間長度 height number 視頻的高度 width number 視頻的寬度 thumbTempFilePath string 視頻縮略圖暫存文件路徑 fileType string 文件類型,合法值有:
image:圖片
video:視頻示例代碼:
wx.chooseMedia({
count: 9,
mediaType: ['image','video'],
sourceType: ['album', 'camera'],
maxDuration: 30,
camera: 'back',
success(res) {
console.log(res.tempFiles.tempFilePath)
console.log(res.tempFiles.size)
}
})VideoContext
功能說明: VideoContext實例,可通過 wx.createVideoContext 獲取,videoContext通過id跟一個<video>組件綁定,操作對應的 <
video> 組件。示例代碼:
對應的WXML文件
<view class="section tc">
<video
id="myVideo"
src="http://wxsnsdy.tc.qq.com/105/20210/snsdyvideodownload?filekey=30280201010421301f0201690402534804102ca905ce620b1241b726bc41dcff44e00204012882540400&bizid=1023&hy=SH&fileparam=302c020101042530230204136ffd93020457e3c4ff02024ef202031e8d7f02030f42400204045a320a0201000400"
enable-danmu
danmu-btn
controls
></video>
<view class="btn-area">
<input bindblur="bindInputBlur" />
<button bindtap="bindSendDanmu">Dispatch the barrage</button>
</view>
</view>對應的js文件:
function getRandomColor() {
const rgb = []
for (let i = 0; i < 3; ++i) {
let color = Math.floor(Math.random() * 256).toString(16)
color = color.length == 1 ? '0' + color : color
rgb.push(color)
}
return '#' + rgb.join('')
}
Page({
onReady(res) {
this.videoContext = wx.createVideoContext('myVideo')
},
inputValue: '',
bindInputBlur(e) {
this.inputValue = e.detail.value
},
bindSendDanmu() {
this.videoContext.sendDanmu({
text: this.inputValue,
color: getRandomColor(),
})
},
})方法集
exitFullScreen
TIP
該API使用方法為: VideoContext.exitFullScreen()
- 功能說明: 退出全屏
exitBackgroundPlayback
TIP
該API使用方法為: VideoContext.exitBackgroundPlayback()
- 功能說明: 退出後臺音訊播放模式。
hideStatusBar
TIP
該API使用方法為: VideoContext.hideStatusBar()
- 功能說明: 隱藏狀態列,僅在iOS全屏下有效。
pause
TIP
該API使用方法為: VideoContext.pause()
- 功能說明: 暫停視頻
play
TIP
該API使用方法為: VideoContext.play()
- 功能說明: 播放視頻
requestFullScreen
TIP
該API使用方法為: VideoContext.requestFullScreen(Object object)
- 功能說明: 進入全屏。 若有自定義內容需在全屏時展示,需將內容節點放置到video節點內。
- 參數及說明: Object object
内容 類型 預設值 必填 說明 direction number - 否 設定全屏時視頻的方向,不指定則根據寬高比自動判斷 - object.direction的合法值
值 說明 0 正常豎向 90 荧幕逆時針90度 -90 荧幕順時針90度
requestBackgroundPlayback
TIP
該API使用方法為: VideoContext.requestBackgroundPlayback()
- 功能說明: 進入後臺音訊播放模式。
seek
TIP
該API使用方法為: VideoContext.seek(number position)
- 功能說明: 跳轉到指定位置
- 參數及說明: number position, 跳轉到的位置,單位: s。
sendDanmu
TIP
該API使用方法為: VideoContext.sendDanmu(Object data)
- 功能說明: 發送彈幕
- 參數: Object data,彈幕內容
内容 類型 預設值 必填 說明 text string - 是 彈幕文字 color string - 否 彈幕顏色
showStatusBar
TIP
該API使用方法為: VideoContext.showStatusBar()
- 功能說明: 顯示狀態列,僅在iOS全屏下有效。
stop
TIP
該API使用方法為: VideoContext.stop()
- 功能說明: 停止視頻。