《微信小程序开发从入门到实战》学习八十三

6.13 视频API

使用视频API可以对用户手机设备中的视频进行一些操作。如果希望播放视频内容,需要使用小程序中的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) // 视频的数据量大小

        console.log(res.width) // 视频的宽度

        console.log(res.height) // 视频的高度

      }

    })

6.13.3 video组件

获取到视频连接后,可使用video组件播放该视频,video组件在页面显示为一个视频播放器。video组件在后面组件章节进行介绍

6.14 位置API

使用位置API可以获取用户的位置信息,或在用户手机中以地图的形式显示某个位置。

(微信小程序申请的是跑步达人,终于碰到和它有点关系的API接口了,期待。)

6.14.1 获取位置API

使用wx.getLocation可获取用户当前的地理位置坐标和移动速度。用前需用户授权scope.userLocation权限。

scope.userLocation不同于其他权限,开发者使用该权限相关接口时需在app.json文件,配置地理位置用途的说明,否则无法使用相关接口。配置如下:

// app.json

{

        "pages": ["pages/index/index"],

        "permission": {

                "scope.userLocation": {

                        "desc": "你的位置信息将用于xx"

                }

        }

}

地理位置用途的说明会显示在向用户请求权限的提示窗口。

wx.getLocation传入Object参数,参支持属性如下:

type:不是必填,wgs84返回GPS坐标,gcj02返回可用于wx.openLocation的坐标

altitude:不是必填,传入true会返回高度信息,获取高度需要较高精确值,会减慢接口返回速度

success

fail

complete

在接口的success回调函数中,可获取用户的地理位置信息。示例代码如下:

    wx.getLocation({

      type: 'wgs84', // 返回GPS坐标

      altitude: true, // 返回高度信息

      success(res) {

        const latitude = res.latitude // 纬度,范围为-90~90,负数表示南纬

        const longitude = res.longitude // 经度,范围为-180~180,负数表示西经

        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

      }

    })

你可能感兴趣的:(学习)