最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

微信小程序拍照和攝像功能實(shí)現(xiàn)方法示例

 更新時間:2019年02月01日 11:06:18   作者:trouble-i-am-in  
這篇文章主要介紹了微信小程序拍照和攝像功能實(shí)現(xiàn)方法,結(jié)合實(shí)例形式分析了微信小程序拍照與攝影功能的原理、相關(guān)實(shí)現(xiàn)技巧與注意事項(xiàng),需要的朋友可以參考下

本文實(shí)例講述了微信小程序拍照和攝像功能實(shí)現(xiàn)方法。分享給大家供大家參考,具體如下:

拍照

原先的想法是使用微信的camera組件來實(shí)現(xiàn),并且模擬發(fā)朋友圈的樣子來進(jìn)行相機(jī)的設(shè)置,其實(shí)就是將camera組件的大小設(shè)置成根屏幕一樣大,并在上面使用一個cover-image組件來給用戶進(jìn)行點(diǎn)擊,可是實(shí)際上的情況是第一,cover-image組件有時候會消失,第二,整個流程實(shí)現(xiàn)起來很僵硬,頁面跳轉(zhuǎn)也是卡的要死,后來無意間發(fā)現(xiàn)了另一個API:wx.chooseImage,這個API會自己去調(diào)用相機(jī)和相冊,之后的工作完全交給底層去實(shí)現(xiàn),簡直是簡單到?jīng)]朋友:

// 拍照功能
getLocalImage:function(){
    var that=this;
    wx.chooseImage({
      count:1,
      success:function(res){
        // 這里無論用戶是從相冊選擇還是直接用相機(jī)拍攝,拍攝完成后的圖片臨時路徑都會傳遞進(jìn)來
        app.startOperating("保存中")
        var filePath=res.tempFilePaths[0];
        var session_key=wx.getStorageSync('session_key');
        // 這里順道展示一下如何將上傳上來的文件返回給后端,就是調(diào)用wx.uploadFile函數(shù)
        wx.uploadFile({
          url: app.globalData.url+'/home/upload/uploadFile/session_key/'+session_key,
          filePath: filePath,
          name: 'file',
          success:function(res){
            app.stopOperating();
            // 下面的處理其實(shí)是跟我自己的業(yè)務(wù)邏輯有關(guān)
            var data=JSON.parse(res.data);
            if(parseInt(data.status)===1){
              app.showSuccess('文件保存成功');
            }else{
              app.showError("文件保存失敗");
            }
          }
        })
      },
      fail:function(error){
        console.error("調(diào)用本地相冊文件時出錯")
        console.warn(error)
      },
      complete:function(){
      }
    })
  },

其中封裝在app.js中的函數(shù)可以看我這篇文章:微信小程序一些簡易小函數(shù)總結(jié)。

攝影

其實(shí)跟上面的原理是一樣的,對應(yīng)的API就是wx.chooseVideo,其中可以設(shè)置拍攝時間,用戶拍攝結(jié)束以及用戶拍攝時間超時等,都會調(diào)用success的回調(diào)函數(shù),所以又是可以安心處理接下來的業(yè)務(wù)流程,而不用需要調(diào)用camera組件。

// 攝像功能
  getLocalVideo:function(){
    var that=this;
    var session_key=wx.getStorageSync('session_key');
    wx.chooseVideo({
      maxDuration:10,
      success:function(res1){
        app.startOperating("上傳中")
        // 這個就是最終拍攝視頻的臨時路徑了
        var tempFilePath=res1.tempFilePath;
      },
      fail:function(){
        console.error("獲取本地視頻時出錯");
      }
    })
  },

實(shí)現(xiàn)起來也是很簡單,但是有一個問題就是沒有辦法像調(diào)用camera組件一樣獲取視頻的縮略圖,這是現(xiàn)在唯一的缺陷。但是總體來說,比起調(diào)用camera組件,這樣實(shí)現(xiàn)起來的確簡單了很多。

希望本文所述對大家微信小程序開發(fā)有所幫助。

相關(guān)文章

最新評論

康乐县| 西畴县| 曲阜市| 婺源县| 扎兰屯市| 淮阳县| 焉耆| 镇沅| 民县| 庆元县| 丰台区| 信丰县| 长沙市| 安溪县| 孝义市| 莱西市| 清徐县| 丽江市| 永嘉县| 濮阳市| 太仆寺旗| 全州县| 中方县| 新津县| 苏州市| 眉山市| 金秀| 湖州市| 肃宁县| 孝感市| 连平县| 黄陵县| 齐河县| 咸丰县| 颍上县| 天全县| 永城市| 鄂托克前旗| 唐山市| 波密县| 丹江口市|