欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

微信小程序?qū)崿F(xiàn)錄音時(shí)的麥克風(fēng)動(dòng)畫效果實(shí)例

 更新時(shí)間:2019年05月18日 13:19:42   作者:守望臨冬城  
這篇文章主要給大家介紹了關(guān)于微信小程序?qū)崿F(xiàn)錄音時(shí)的麥克風(fēng)動(dòng)畫效果的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用微信小程序具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起學(xué)習(xí)學(xué)習(xí)吧

前言

這個(gè)簡(jiǎn)單的麥克風(fēng)demo的創(chuàng)意是來(lái)源于“包你說(shuō)”中的錄音效果,實(shí)現(xiàn)的方式其實(shí)也并不難,但對(duì)于小程序中的簡(jiǎn)易動(dòng)畫的使用的確很實(shí)用。

效果

先來(lái)看個(gè)demo,gif幀數(shù)比較低,實(shí)際效果和真機(jī)測(cè)試的流暢性還是很OK的

思路

通過(guò)setTimeout配合this.sedData來(lái)改變image中的src路徑來(lái)生成動(dòng)畫。動(dòng)畫的播放以及隱藏則通過(guò)wx:if綁定一個(gè)自定義的參數(shù)來(lái)控制。下面就直接上代碼。

代碼

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 //錄音動(dòng)畫定時(shí)器
 Page({
  data:{
   showTalk: false, //顯示錄音動(dòng)畫
   receiveImg: 3, //按壓播放語(yǔ)音動(dòng)畫
   voiceNum: 2, //按壓錄音時(shí)效果圖
   config: app.globalData.apiUrl,//demo接口
  },
  //長(zhǎng)按讀語(yǔ)音
  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, //保存文件到本地并生成臨時(shí)路徑
      success(res) {
       wx.uploadFile({   //上傳語(yǔ)音文件到服務(wù)器
        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() //校驗(yàn)語(yǔ)音正確率,此步驟未貼出
        }
       })
      }
     })
    }
   })
  },
  // 播放錄音動(dòng)畫
  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)
   }
  },
  // 錄音結(jié)束
  endTouch() {
   var that = this;
   wx.stopRecord();
   that.setData({
    voiceNum: 2,
    showTalk: false,
   })
  },
 })

寫在之后

通過(guò)this.setData來(lái)制造動(dòng)畫事件僅僅適合項(xiàng)目中的簡(jiǎn)單動(dòng)畫效果,如若要完成其他動(dòng)畫特效,如我們胡建的中秋博餅的動(dòng)畫,則需要使用更為強(qiáng)大的css3中的動(dòng)畫效果,這一點(diǎn)小程序的支持也是十分給力的。


總結(jié)

以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,謝謝大家對(duì)腳本之家的支持。

相關(guān)文章

  • TypeScript調(diào)整數(shù)組元素順序算法

    TypeScript調(diào)整數(shù)組元素順序算法

    數(shù)組類型在TS中可以使用多種方式,比較靈活,下面這篇文章主要給大家介紹了關(guān)于TypeScript調(diào)整數(shù)組元素順序算法的相關(guān)資料,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-04-04
  • JavaScript引用類型RegExp基本用法詳解

    JavaScript引用類型RegExp基本用法詳解

    這篇文章主要介紹了JavaScript引用類型RegExp基本用法,結(jié)合實(shí)例形式較為詳細(xì)的分析了引用類型RegExp正則表達(dá)式相關(guān)函數(shù)使用技巧與操作注意事項(xiàng),需要的朋友可以參考下
    2018-08-08
  • JavaScript實(shí)現(xiàn)更換頭像功能

    JavaScript實(shí)現(xiàn)更換頭像功能

    這篇文章主要為大家詳細(xì)介紹了JavaScript實(shí)現(xiàn)更換頭像功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-08-08
  • JavaScript圖像放大鏡效果實(shí)現(xiàn)方法詳解

    JavaScript圖像放大鏡效果實(shí)現(xiàn)方法詳解

    這篇文章主要介紹了JavaScript圖像放大鏡效果實(shí)現(xiàn)方法詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-06-06
  • js中var、let、const之間的區(qū)別

    js中var、let、const之間的區(qū)別

    本文主要介紹了js中var、let、const之間的區(qū)別,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2023-05-05
  • 在IE模態(tài)窗口中自由查看HTML源碼的方法

    在IE模態(tài)窗口中自由查看HTML源碼的方法

    在IE模態(tài)窗口中自由查看HTML源碼的方法...
    2007-03-03
  • 基于JavaScript實(shí)現(xiàn)貪吃蛇游戲

    基于JavaScript實(shí)現(xiàn)貪吃蛇游戲

    這篇文章主要為大家詳細(xì)介紹了基于JavaScript實(shí)現(xiàn)貪吃蛇游戲,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2020-03-03
  • 微信小程序基于數(shù)據(jù)庫(kù)時(shí)間實(shí)現(xiàn)商品倒計(jì)時(shí)功能(可重用代碼)

    微信小程序基于數(shù)據(jù)庫(kù)時(shí)間實(shí)現(xiàn)商品倒計(jì)時(shí)功能(可重用代碼)

    這篇文章主要介紹了微信小程序基于數(shù)據(jù)庫(kù)時(shí)間實(shí)現(xiàn)商品倒計(jì)時(shí)功能(可重用代碼),代碼很完整,拿來(lái)就可以使用,現(xiàn)在我把完整的代碼分享給大家,需要的朋友可以參考下
    2022-07-07
  • js實(shí)現(xiàn)頁(yè)面跳轉(zhuǎn)的五種方法推薦

    js實(shí)現(xiàn)頁(yè)面跳轉(zhuǎn)的五種方法推薦

    下面小編就為大家?guī)?lái)一篇js實(shí)現(xiàn)頁(yè)面跳轉(zhuǎn)的五種方法推薦。小編覺(jué)得挺不錯(cuò)的?,F(xiàn)在分享給大家,讓大家參考一下
    2016-03-03
  • JavaScript實(shí)現(xiàn)手寫call/apply/bind的示例代碼

    JavaScript實(shí)現(xiàn)手寫call/apply/bind的示例代碼

    這篇文章主要為大家詳細(xì)介紹了JavaScript實(shí)現(xiàn)手寫call/apply/bind的方法,文中的示例代碼講解詳細(xì),對(duì)我們學(xué)習(xí)JavaScript有一定的幫助,需要的可以參考一下
    2023-02-02

最新評(píng)論