国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 熱點 > 微信 > 正文

微信開發之微信jssdk錄音功能開發示例

2024-07-22 01:17:25
字體:
來源:轉載
供稿:網友

項目需求簡單描述

用戶長按錄音,松手后直接結束錄音,結束錄音后,用戶可以選擇重新錄音、播放剛才的錄音,上傳錄音(這里的上傳錄音指上傳到自己服務器,上傳步驟是,前端調用wx.uploadVoice,后臺再到微信服務器下載音頻文件,上傳到自己的服務器)。注意,音頻文件自上傳時間算起在微信服務器的有效期為3天。由于后臺從微信服務器下載的音頻文件是amr格式的,需要后臺先把amr文件轉換成MP3,前端用audio播放。我們公司是購買阿里云的媒體處理服務進行文件轉碼的。

調用到的微信接口

// 開始錄音接口wx.startRecord();// 停止錄音接口wx.stopRecord({success: function (res) {  var localId = res.localId; }});// 監聽錄音自動停止接口wx.onVoiceRecordEnd({ // 錄音時間超過一分鐘沒有停止的時候會執行 complete 回調 complete: function (res) {  var localId = res.localId; }});// 播放語音接口wx.playVoice({ localId: '' // 需要播放的音頻的本地ID,由stopRecord接口獲得});// 暫停播放接口wx.pauseVoice({ localId: '' // 需要暫停的音頻的本地ID,由stopRecord接口獲得});// 監聽語音播放完畢接口wx.onVoicePlayEnd({wx.onVoice success: function (res) {  var localId = res.localId; // 返回音頻的本地ID }});// 上傳語音接口wx.uploadVoice({ localId: '', // 需要上傳的音頻的本地ID,由stopRecord接口獲得 isShowProgressTips: 1, // 默認為1,顯示進度提示 success: function (res) {  var serverId = res.serverId; // 返回音頻的服務器端ID }});

主要涉及的知識點

//項目用到的框架:vue.js@touchstart // 手指觸碰屏幕,開始長按@touchend //手指離開屏幕,結束長按@touchmove //手指在屏幕上滑動

開發流程

說明:項目用到的框架:Vue

1.引入微信jssdk,做好微信配置

2.HTML結構:

<div @touchstart="gtouchstart()" @touchend="gtouchend()" @touchmove="gtouchmove()"></div>

touchstart事件:MDN的定義是:當觸點與觸控設備表面接觸時觸發touchstart 事件,換句話來說,就是手指觸碰屏幕時觸發,所以這里監聽開始長按。

@touchend事件:當手指從屏幕上離開的時候觸發,這里今天長按結束。

@touchmove事件:當手指在屏幕上滑動的時候連續地觸發。在這個長按錄音的場景中,當手指在屏幕上移動了,也視為錄音結束,所以要監聽手指在屏幕上滑動。

3.js代碼

methods:{ gtouchstart(){  // 當用戶長按500ms以上再真正開始錄音  setTimeout(() => {   this.longPress()  }, 500)} }, longPress(){  wx.startRecord() // 微信開始錄音接口 }, gtouchmove(){  wx.stopRecord({ // 微信結束錄音接口   success: res => {    this.localId = res.localId;    console.log('中斷結束錄音')   }  }) }, gtouchend(){   wx.stopRecord({ // 微信結束錄音接口    success: res => {     this.localId = res.localId;     console.log('正常結束錄音成功了')    }  }) }, wxUpload() { // 上傳到微信服務器  wx.uploadVoice({   localId: this.localId, // 需要上傳的音頻的本地ID,由stopRecord接口獲得   isShowProgressTips: 1, // 默認為1,顯示進度提示   success: res => {    this.serverId = res.serverId; // 返回音頻的服務器端ID   }  }); },}            
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 临颍县| 邳州市| 木兰县| 平南县| 射阳县| 方山县| 民丰县| 阳信县| 神池县| 南华县| 循化| 崇文区| 永春县| 麻栗坡县| 苗栗县| 南郑县| 恩平市| 辰溪县| 永康市| 新源县| 同心县| 六安市| 鄂尔多斯市| 普兰县| 开封县| 阳春市| 乐陵市| 柘城县| 秭归县| 建阳市| 广平县| 乌兰浩特市| 蚌埠市| 延吉市| 宁夏| 咸阳市| 姜堰市| 香格里拉县| 苏尼特右旗| 来安县| 宝清县|