小程序開發,視頻播放和下載

代碼放在github上,頁面實現的功能是,視頻的播放,以及視頻下載的整個流程,包括受權和保存到相冊。vue

簡單說說視頻下載的整個流程吧git

      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 方法,方法代碼以下,github

    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方法保存;ide

還有清除本地緩存的方法,使用的是this

FileSystemManager.readdir({Object})方法,獲取緩存文件列表,
FileSystemManager.unlinkSync()方法,對列表裏遍歷出來的文件進行刪除,
 
完整代碼上傳到github了,項目使用的mpvue,應該也很容易看懂
 
以爲有幫助,不妨給個贊哦~
相關文章
相關標籤/搜索