使用视频API可以对用户手机设备中的视频进行一些操作。如果希望播放视频内容,需要使用小程序中的video组件。
使用wx.saveVideoToPhotosAlbum接口可将视频保存到手机相册,支持MP4视频格式。该接口用前需用户授权scope.writePhotosAlbum。示例代码如下:
????wx.saveVideoToPhotosAlbum({
??????filePath:?'xxx.mp4',?//?视频文件路径,可以是临时文件路径或永久文件路径
??????success?(res)?{
????????console.log(res.errMsg)
??????}
????})
使用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)?//?视频的高度
??????}
????})
获取到视频连接后,可使用video组件播放该视频,video组件在页面显示为一个视频播放器。video组件在后面组件章节进行介绍
使用位置API可以获取用户的位置信息,或在用户手机中以地图的形式显示某个位置。
(微信小程序申请的是跑步达人,终于碰到和它有点关系的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?latitude?=?res.longitude?//?经度,范围为-180~180,负数表示西经
????????const?latitude?=?res.speed?//?速度,单位为m/s
????????const?latitude?=?res.accuracy?//?位置的精确度
????????const?latitude?=?res.altitude?//?高度,高度为m
????????const?latitude?=?res.verticalAccuracy?//?垂直精度,单位为m(仅IOS支持)
????????const?latitude?=?res.horizontalAccuracy?//?水平精度,单位为m
??????}
????})