您好,登錄后才能下訂單哦!
這篇文章主要介紹了基于JS如何開發微信網頁錄音功能,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。
具體代碼如下所示:
wx.ready(function () { var startRecordflag = false var startTime = null //btnRecord 為錄音按鈕dom對象 btnRecord.addEventListener('touchstart', function (event) { event.preventDefault(); startTime = newDate().getTime(); // 延時后錄音,避免誤操作 recordTimer = setTimeout(function () { wx.startRecord({ success: function () { var rainAllowRecord = sessionStorage.getItem("rainAllowRecord");//判斷是否授權過允許使用錄音功能 if (!isEmpty(rainAllowRecord) && rainAllowRecord == "1") { //開始錄音時的操作 如修改錄音按鈕樣式等 } else { //一般第一次時 都沒有授權 彈出授權窗口后 無法終止錄音過程 所以在這里設置rainAllowRecord 的值表示允許過錄音 并且在第一次時主動停止錄音 sessionStorage.setItem("rainAllowRecord", "1"); wx.stopRecord(); } startRecordflag = true; }, cancel: function () { startRecordflag = true; alert('用戶拒絕授權錄音'); }, complete: function () { startRecordflag = true; } }); }, 300); }); btnRecord.addEventListener('touchend', function (event) { event.preventDefault(); // 間隔太短 var timeDitance = newDate().getTime() - startTime; if (timeDitance < 300) { startTime = 0; // 不錄音 clearTimeout(recordTimer); } else { // 松手結束錄音 //startRecordflag 因為startRecord是個異步方法 防止沒有進入startRecord 的回調就進入了這里 var startRecordHandle = setInterval(function () { //startRecordflag為true 表示已經進入過startRecord的回調 if (startRecordflag) { startRecordflag = false; clearInterval(startRecordHandle); wx.stopRecord({ success: function (res) { voice.localId = res.localId; translateVoice(); }, fail: function (res) { } }); } }, 0); } }); wx.onVoiceRecordEnd({ complete: function (res) { voice.localId = res.localId; alert('錄音時間已超過一分鐘'); } }); function translateVoice() { //調用微信的語音轉文字接口 wx.translateVoice({ localId: voice.localId, isShowProgressTips: 0, complete: function (res) { if (res.hasOwnProperty('translateResult')) { alert('識別結果:' + res.translateResult); } else { } } }); } function playVoice() { wx.playVoice({ localId: voice.localId }); } })
感謝你能夠認真閱讀完這篇文章,希望小編分享的“基于JS如何開發微信網頁錄音功能”這篇文章對大家有幫助,同時也希望大家多多支持億速云,關注億速云行業資訊頻道,更多相關知識等著你來學習!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。