6.13 視頻API
使用視頻API可以對用戶手機設備中的視頻進行一些操作。如果希望播放視頻內(nèi)容,需要使用小程序中的video組件。
6.13.1?保存視頻API
使用wx.saveVideoToPhotosAlbum接口可將視頻保存到手機相冊,支持MP4視頻格式。該接口用前需用戶授權scope.writePhotosAlbum。示例代碼如下:
????wx.saveVideoToPhotosAlbum({
??????filePath:?'xxx.mp4',?//?視頻文件路徑,可以是臨時文件路徑或永久文件路徑
??????success?(res)?{
????????console.log(res.errMsg)
??????}
????})
6.13.2?選擇視頻API
使用wx.chooseVideo可從手機相冊選擇視頻,或使用攝像頭拍攝一段視頻并獲取該文件。示例代碼如下:
????wx.chooseVideo({
??????sourceType:?['album','camera'],?//?選擇視頻的來源(相冊、相機)
??????compressed:?true,?//?是否壓縮視頻文件。默認為true
??????maxDuration:?60,?//?拍攝視頻最長拍攝時間,單位為秒。默認為60
??????camera:?'back',?//?默認拉起的是前置或者后置攝像頭,支持back和front
??????success(res)?{
????????console.log(res.tempFilePath)?//?視頻的路徑(臨時文件)
????????console.log(res.duration)?//?視頻的時間長度
????????console.log(res.size)?//?視頻的數(shù)據(jù)量大小
????????console.log(res.width)?//?視頻的寬度
????????console.log(res.height)?//?視頻的高度
??????}
????})
6.13.3?video組件
獲取到視頻連接后,可使用video組件播放該視頻,video組件在頁面顯示為一個視頻播放器。video組件在后面組件章節(jié)進行介紹
6.14?位置API
使用位置API可以獲取用戶的位置信息,或在用戶手機中以地圖的形式顯示某個位置。
(微信小程序申請的是跑步達人,終于碰到和它有點關系的API接口了,期待。)
6.14.1?獲取位置API
使用wx.getLocation可獲取用戶當前的地理位置坐標和移動速度。用前需用戶授權scope.userLocation權限。
scope.userLocation不同于其他權限,開發(fā)者使用該權限相關接口時需在app.json文件,配置地理位置用途的說明,否則無法使用相關接口。配置如下:
// app.json
{
"pages": ["pages/index/index"],
"permission": {
"scope.userLocation": {
"desc": "你的位置信息將用于xx"
}
}
}
地理位置用途的說明會顯示在向用戶請求權限的提示窗口。
wx.getLocation傳入Object參數(shù),參支持屬性如下:
type:不是必填,wgs84返回GPS坐標,gcj02返回可用于wx.openLocation的坐標
altitude:不是必填,傳入true會返回高度信息,獲取高度需要較高精確值,會減慢接口返回速度
success
fail
complete
在接口的success回調(diào)函數(shù)中,可獲取用戶的地理位置信息。示例代碼如下:
????wx.getLocation({
??????type:?'wgs84',?//?返回GPS坐標
??????altitude:?true,?//?返回高度信息
??????success(res)?{
????????const?latitude?=?res.latitude?//?緯度,范圍為-90~90,負數(shù)表示南緯
????????const?longitude?=?res.longitude?//?經(jīng)度,范圍為-180~180,負數(shù)表示西經(jīng)
????????const?speed?=?res.speed?//?速度,單位為m/s
????????const?accuracy?=?res.accuracy?//?位置的精確度
????????const?altitude?=?res.altitude?//?高度,高度為m
????????const?verticalAccuracy?=?res.verticalAccuracy?//?垂直精度,單位為m(僅IOS支持)
????????const?horizontalAccuracy?=?res.horizontalAccuracy?//?水平精度,單位為m
??????}
????})