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

微信小程序?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)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用微信小程序具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧

前言

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

效果

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

思路

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

代碼

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, //按壓播放語音動(dòng)畫
   voiceNum: 2, //按壓錄音時(shí)效果圖
   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, //保存文件到本地并生成臨時(shí)路徑
      success(res) {
       wx.uploadFile({   //上傳語音文件到服務(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)語音正確率,此步驟未貼出
        }
       })
      }
     })
    }
   })
  },
  // 播放錄音動(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,
   })
  },
 })

寫在之后

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


總結(jié)

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

相關(guān)文章

  • JavaScript?中URL?查詢字符串(query?string)的序列與反序列化的方法

    JavaScript?中URL?查詢字符串(query?string)的序列與反序列化的方法

    在 JavaScript 中,可以使用?URLSearchParams?對(duì)象來處理 URL 中的查詢字符串,這篇文章主要介紹了JavaScript?中URL查詢字符串(query?string)的序列與反序列化,需要的朋友可以參考下
    2023-01-01
  • 微信小程序性能優(yōu)化之checkSession的使用

    微信小程序性能優(yōu)化之checkSession的使用

    這篇文章主要介紹了微信小程序性能優(yōu)化之checkSession的使用,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2019-03-03
  • 使用Docker搭建Jackett的詳細(xì)教程

    使用Docker搭建Jackett的詳細(xì)教程

    Jackett是一個(gè)開源的種子搜索器,它提供了一個(gè)統(tǒng)一的API,可以讓你通過一個(gè)界面來搜索和下載種子文件,這篇文章主要給大家介紹了關(guān)于使用Docker搭建Jackett的相關(guān)資料,需要的朋友可以參考下
    2024-04-04
  • JavaScript正則表達(dá)式中g(shù)標(biāo)志詳解

    JavaScript正則表達(dá)式中g(shù)標(biāo)志詳解

    正則的思想都是一樣的,但是具體的寫法會(huì)有所不同,下面這篇文章主要給大家介紹了關(guān)于JavaScript正則表達(dá)式中g(shù)標(biāo)志的相關(guān)資料,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-03-03
  • TypeScript在Vuex4中使用TS實(shí)戰(zhàn)分享

    TypeScript在Vuex4中使用TS實(shí)戰(zhàn)分享

    這篇文章主要介紹了TypeScript在Vuex4中使用TS實(shí)戰(zhàn)分享,vuex4類型?Api分析和vuex4實(shí)戰(zhàn)兩部分講述,需要的小伙伴可以參考一下
    2022-06-06
  • 微信小程序記住密碼的功能簡單幾步實(shí)現(xiàn)

    微信小程序記住密碼的功能簡單幾步實(shí)現(xiàn)

    軟件中的“記住密碼”選框不知道大家平時(shí)會(huì)不會(huì)勾選,反正對(duì)于一個(gè)重度懶癌患者的我來說就沒有不勾選的時(shí)候,畢竟隔一段時(shí)間就重新輸入一遍難記又難輸?shù)馁~號(hào)密碼,想想就讓人頭皮發(fā)麻。今天教大家用代碼在微信小程序中實(shí)現(xiàn)這個(gè)簡單的小功能
    2023-01-01
  • 一個(gè)表格收縮展開的函數(shù)

    一個(gè)表格收縮展開的函數(shù)

    一個(gè)表格收縮展開的函數(shù)...
    2006-07-07
  • js簡單抽獎(jiǎng)代碼

    js簡單抽獎(jiǎng)代碼

    年底了各個(gè)公司都有抽獎(jiǎng)活動(dòng),我也寫了一個(gè)超級(jí)簡單的代碼來實(shí)現(xiàn)抽獎(jiǎng)效果,這里沒有華麗的Css3效果,但卻有短小精悍的js代碼。
    2015-01-01
  • 正則表達(dá)式,替換所有HTML標(biāo)簽的簡單實(shí)例

    正則表達(dá)式,替換所有HTML標(biāo)簽的簡單實(shí)例

    下面小編就為大家?guī)硪黄齽t表達(dá)式,替換所有HTML標(biāo)簽的簡單實(shí)例。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2016-11-11
  • 利用圖片的 onerror 事件載入默認(rèn)圖片

    利用圖片的 onerror 事件載入默認(rèn)圖片

    當(dāng)圖片不存在時(shí)載入默認(rèn)圖片的代碼
    2009-12-12

最新評(píng)論

诏安县| 长宁区| 博乐市| 高州市| 天津市| 澜沧| 白水县| 巢湖市| 磐安县| 吉水县| 垣曲县| 康乐县| 北川| 东丰县| 麻栗坡县| 上林县| 博罗县| 邹平县| 宜丰县| 广宗县| 广东省| 岢岚县| 梓潼县| 灵丘县| 高州市| 曲麻莱县| 宝鸡市| 辽宁省| 平果县| 临邑县| 元谋县| 博客| 荆州市| 米易县| 手机| 绥芬河市| 涟源市| 上栗县| 那坡县| 沙坪坝区| 马边|