微信小程序> 小程序开发,视频播放和下载

小程序开发,视频播放和下载

浏览量:712 时间: 来源:weixin_30407099

代码放在github上,页面实现的功能是,视频的播放,以及视频下载的整个流程,包括授权和保存到相册。

简单说说视频下载的整个流程吧

      wx.getSetting({ //获取用户当前的授权状况        success: res => {          let recordAuth = res.authSetting["scope.writePhotosAlbum"];         if (recordAuth === true) { //1.已经授权成功,直接调用下载方法            self.saveVideoToAlbum();           } else if (recordAuth === false) { //2.申请过授权,但用户不同意,打开手机系统设置            self.openAuth();           } else if {  //3.从未授权,弹出授权窗口            wx.authorize({              scope: "scope.writePhotosAlbum",              success: () => {  //授权成功               //页面提示授权成功              },              fail: () => { //授权失败                self.msg("text", "授权失败,请重试");              }            });          }        }      });

 

在第二种状态,申请过授权,但是用户不同意,我们调用openAuth 方法,方法代码如下,

小程序

    openAuth() {      let self = this;      wx.openSetting({        success: function(res) {          let recordAuth = res.authSetting["scope.writePhotosAlbum"];          if (recordAuth == true) { //手动设置授权成功            // self.saveVideoToAlbum(); 需不需要在这里调用下载方法,自己考虑          }        }      });    },

 

关于授权的逻辑就这么多了,接下来说说,下载保存逻辑,需要注意的是,每次在下载保存之前需要先清除本地的缓存文件,不然只有10m的缓存文件,下载不了几个视频就满了。

下载的逻辑是先调用wx.downloadFile 方法,把视频下载到本地缓存,然后再调用wx.saveVideoToPhotosAlbum方法保存;

还有清除本地缓存的方法,使用的是

FileSystemManager.readdir({Object})方法,获取缓存文件列表,FileSystemManager.unlinkSync()方法,对列表里遍历出来的文件进行删除,
 完整代码上传到github了,项目使用的mpvue,应该也很容易看懂https://github.com/daisygogogo/my-demo/tree/master/video-watch-and-download 觉得有帮助,不妨给个赞哦~微信小程序

版权声明

即速应用倡导尊重与保护知识产权。如发现本站文章存在版权问题,烦请提供版权疑问、身份证明、版权证明、联系方式等发邮件至197452366@qq.com ,我们将及时处理。本站文章仅作分享交流用途,作者观点不等同于即速应用观点。用户与作者的任何交易与本站无关,请知悉。

产品经理

手机 : 13312967497

擅长 : 小程序流量变现

扫码领取礼包

热门模板

  • 头条
  • 搜狐
  • 微博
  • 百家
  • 一点资讯
  • 知乎