基于JS開發(fā)微信網(wǎng)頁錄音功能的實例代碼
更新時間:2019年04月30日 09:54:25 作者:JJLin
這篇文章主要介紹了基于JS開發(fā)微信網(wǎng)頁錄音功能的實例代碼,代碼簡單易懂,非常不錯,具有一定的參考借鑒價值,需要的朋友可以參考下
具體代碼如下所示:
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 的回調(diào)就進入了這里
var startRecordHandle = setInterval(function () {
//startRecordflag為true 表示已經(jīng)進入過startRecord的回調(diào)
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() {
//調(diào)用微信的語音轉文字接口
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開發(fā)微信網(wǎng)頁錄音功能的實例代碼,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!
如果你覺得本文對你有幫助,歡迎轉載,煩請注明出處,謝謝!
相關文章
兩個JavaScript中的特殊值null和undefined詳解
Null和Undefined是JavaScript中非常基礎和重要的概念,理解它們的含義、特點和使用方式對于避免出現(xiàn)錯誤和編寫健壯的應用程序非常重要,這篇文章主要介紹了兩個JavaScript中的特殊值null和undefined詳解,需要的朋友可以參考下2023-06-06

