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

代码放在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://www.cnblogs.com/daisygogogo/p/10858239.html

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值