麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 課堂 > 小程序 > 正文

微信小程序實現錄音時的麥克風動畫效果實例

2020-03-21 15:56:17
字體:
來源:轉載
供稿:網友

前言

這個簡單的麥克風demo的創意是來源于“包你說”中的錄音效果,實現的方式其實也并不難,但對于小程序中的簡易動畫的使用的確很實用。

效果

先來看個demo,gif幀數比較低,實際效果和真機測試的流暢性還是很OK的

微信小程序,錄音,麥克風,動畫效果

思路

通過setTimeout配合this.sedData來改變image中的src路徑來生成動畫。動畫的播放以及隱藏則通過wx:if綁定一個自定義的參數來控制。下面就直接上代碼。

代碼

html

 <view class='animation-talk'>  <image src='../../image/receive{{receiveImg}}.png' wx:if="{{showTalk}}" mode='aspectFill'></image> </view> <view>  <image src='../../image/voice{{voiceNum}}-btn.png' bindlongpress="longPress" bindtouchend="endTouch" ></image> </view>

javascript

 var playTalk //錄音動畫定時器 Page({  data:{   showTalk: false, //顯示錄音動畫   receiveImg: 3, //按壓播放語音動畫   voiceNum: 2, //按壓錄音時效果圖   config: app.globalData.apiUrl,//demo接口  },  //長按讀語音  longPress() {   var that = this;   that.setData({    voiceNum: 1,    showTalk: true   });   that.animationTalk();   var url = that.data.config;   wx.startRecord({    success(res) {     const tempFilePath = res.tempFilePath; //錄音成功后的文件     wx.saveFile({      tempFilePath: tempFilePath, //保存文件到本地并生成臨時路徑      success(res) {       wx.uploadFile({   //上傳語音文件到服務器        url: url,        filePath: res.savedFilePath,        name: 'file',        formData: {         token: that.data.token,         name: 'file'        },        success(res) {         that.setData({          voiceUrl: JSON.parse(res.data).file_url         })         that.receivePage() //校驗語音正確率,此步驟未貼出        }       })      }     })    }   })  },  // 播放錄音動畫  animationTalk() {   var that = this;   if (!that.data.showTalk) {    that.setData({     receiveImg: 1    });    clearTimeout(playTalk)   } else {    switch (that.data.receiveImg) {     case 1:      that.setData({       receiveImg: 2      })      break     case 2:      that.setData({       receiveImg: 3      })      break     case 3:      that.setData({       receiveImg: 1      })      break    }    setTimeout(function () {     that.animationTalk()    }, 500)   }  },  // 錄音結束  endTouch() {   var that = this;   wx.stopRecord();   that.setData({    voiceNum: 2,    showTalk: false,   })  }, })

寫在之后

通過this.setData來制造動畫事件僅僅適合項目中的簡單動畫效果,如若要完成其他動畫特效,如我們胡建的中秋博餅的動畫,則需要使用更為強大的css3中的動畫效果,這一點小程序的支持也是十分給力的。

微信小程序,錄音,麥克風,動畫效果

總結

以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,謝謝大家對VEVB武林網的支持。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 国产一级午夜 | 欧美一级黄色免费看 | 国产视频在线观看一区二区三区 | 99视频观看 | 久久久久久久久久久久免费 | 欧美日本亚洲视频 | 久久日韩| 色综合网在线观看 | 国产精品一区二av18款 | 成人在线视频免费 | 国产精品欧美久久久久一区二区 | 欧美三级欧美成人高清www | 久久污| 欧美日韩免费一区 | 午夜爽爽爽男女免费观看hd | 久久精品一二三区 | 特级毛片全部免费播放器 | 日韩中文字幕一区二区三区 | hdbbwsexvideo | 久久久久久久久国产 | 国产精品视频一区二区三区四 | a视频在线看 | 激情视频日韩 | 91丝袜| 久久精热 | 国产日韩线路一线路二 | 深夜福利视频绿巨人视频在线观看 | 一本在线高清码电影 | 精品一区二区三区日本 | 日韩中文字幕一区二区三区 | 亚洲视频成人 | 国产成年人视频网站 | 色啪综合 | 久久久成人精品视频 | 国产伦精品一区二区三区在线 | 欧美偷拍一区二区 | jizzyouxxxx| 国产1区在线观看 | a级黄色片视频 | 亚洲啪| 成年性羞羞视频免费观看无限 |