1. Video API 简介
Video API 是微信小程序中的一个功能,主要用于游戏、电影、直播、教育等领域的视频处理、播放、录制等。随着移动设备的飞速增长,视频已成为移动端耗流量的重要组成部分之一。因此,Video API 的出现极大地丰富了小程序在视频领域的开发。
2. Video API 的使用方法
2.1. 播放视频
Video API 可以在小程序中嵌入视频并播放,使用 Video 标签即可。
<video src="video.mp4"></video>
其中 src 表示视频源 URL。Video 中还有很多属性,其中 controls 表示是否显示播放控件,autoplay 表示是否自动播放,poster 表示视频封面 URL 等。
2.2. 视频录制
除了播放外,Video API 还可以使用微信的摄像头进行视频录制,使用 wx.chooseVideo 方法。
wx.chooseVideo({
sourceType: ['album', 'camera'], // 视频来源,相册或摄像头
maxDuration: 60, // 最大录制时间
camera: 'back', // 后置摄像头
success(res) {
console.log(res.tempFilePath) // 录制结果在 res.tempFilePath 中
}
});
可以通过选择相册或摄像头录制视频,设置最大录制时间,选择前置或后置摄像头等参数。录制结果在 success 回调函数的 res.tempFilePath 中。
2.3. 视频处理
Video API 还支持对视频进行处理,例如将视频转为图片,将图片转为视频等。
2.3.1. 将视频转为图片
wx.chooseVideo({
sourceType: ['album'], // 选择视频来源为相册
success(res) {
wx.getVideoInfo({ // 获取视频信息
src: res.tempFilePath,
success(infoRes) {
wx.chooseImage({ // 选择图片
success(imgRes) {
wx.compressImage({ // 压缩图片
src: imgRes.tempFilePaths[0],
success(comRes) {
wx.saveImageToPhotosAlbum({ // 保存图片到相册
filePath: comRes.tempFilePath,
success(saveRes) {
console.log(saveRes); // 返回成功信息
}
});
}
});
}
});
}
});
}
});
上述代码通过 chooseVideo 选择视频,然后通过 getVideoInfo 获取视频信息,再使用 chooseImage 获取一张图片,compressImage 压缩图片,最后 saveImageToPhotosAlbum 保存图片到相册。最终保存结果在 success 回调函数中。
2.3.2. 将图片转为视频
wx.chooseImage({
success(res) {
wx.showToast({
icon: 'loading',
duration: 10000
});
wx.compressImage({ // 压缩图片
src: res.tempFilePaths[0],
success(comRes) {
wx.saveFile({ // 保存图片
tempFilePath: comRes.tempFilePath,
success(saveRes) {
wx.getFileInfo({ // 获取文件信息
filePath: saveRes.savedFilePath,
success(fileRes) {
wx.chooseVideo({
sourceType: ['album'], // 选择视频来源为相册
success(videoRes) {
wx.compressVideo({ // 压缩视频
src: videoRes.tempFilePath,
success(comVideoRes) {
wx.saveVideoToPhotosAlbum({ // 保存视频
filePath: comVideoRes.tempFilePath,
success(saveVideoRes) {
console.log(saveVideoRes); // 返回成功信息
}
});
}
});
}
});
}
});
}
});
}
});
}
});
上述代码通过 chooseImage 获取一张图片,使用 compressImage 压缩图片,saveFile 将图片保存到本地,再通过 chooseVideo 选择一段视频,compressVideo 压缩视频,最后将两者拼接后 saveVideoToPhotosAlbum 保存到相册。最终保存结果在 success 回调函数中。
3. Video API 的注意事项
使用 Video API 时有一些需要注意的事项。
3.1. 播放时,需要用户主动触发播放,才能播放,不能直接 AutoPlay,即自动播放。
3.2. 录制需要用户授权,推荐在说明页面引导用户授权。
3.3. 录制时也需要注意设备剩余存储空间不够或权限不足的情况。
3.4. 视频处理需要注意异步调用中的先后顺序,以及文件保存成功的情况。
4. 总结
通过 Video API,小程序能够在视频播放、录制、处理等方面进行更多的交互和联系。开发者只需要注意 API 的使用方式以及注意事项,就能够轻松地实现功能了。