今天小編給大家分享一下html5怎么實(shí)現(xiàn)發(fā)送語音消息的相關(guān)知識(shí)點(diǎn),內(nèi)容詳細(xì),邏輯清晰,相信大部分人都還太了解這方面的知識(shí),所以分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后有所收獲,下面我們一起來了解一下吧。
企業(yè)建站必須是能夠以充分展現(xiàn)企業(yè)形象為主要目的,是企業(yè)文化與產(chǎn)品對(duì)外擴(kuò)展宣傳的重要窗口,一個(gè)合格的網(wǎng)站不僅僅能為公司帶來巨大的互聯(lián)網(wǎng)上的收集和信息發(fā)布平臺(tái),創(chuàng)新互聯(lián)公司面向各種領(lǐng)域:服務(wù)器租用等成都網(wǎng)站設(shè)計(jì)、成都全網(wǎng)營(yíng)銷推廣解決方案、網(wǎng)站設(shè)計(jì)等建站排名服務(wù)。
1、使用 getUserMedia 需要考慮各個(gè)瀏覽器的差異
2、使用 WebWorker 來處理錄音及音頻轉(zhuǎn)換。
3、轉(zhuǎn)為 Base64 格式的 WAV,用于瀏覽器播放(此處需要注意,可以轉(zhuǎn)換 Blob 直接播放,此處為了說明轉(zhuǎn)換音頻的接口,所以轉(zhuǎn)為 Baes64)。
1、開始錄音:RongRecorder.record();
調(diào)用此方法開始錄音。
2、停止錄音:RongRecorder.stop();
調(diào)用此方法停止錄音。
3、停止并導(dǎo)出:RongRecorder.stopAndExport(type,callback);
調(diào)用此方法停止并導(dǎo)出音頻為指定的 type 類型
4、導(dǎo)出:RongRecorder.exportRecord(type);
導(dǎo)出指定 type 類型的音頻流。
5、清空本地音頻流:RongRecorder.clear();
1、兼容 getUserMedia 代碼片段
navigator.getUserMedia = navigator.getUserMedia ||navigator.webkitGetUserMedia ||navigator.mozGetUserMedia; 2、WebWorker 代碼片段
this.onmessage = function(e){ switch(e.data.command){ case 'init': init(e.data.config); break; case 'record': record(e.data.buffer); break; case 'exportRecord': exportRecord(e.data.type); break; case 'clearRecord': clearRecord(); break; }};function init(config){ sampleRate = config.sampleRate;}function clearRecord(){ recBuffersL.length = 0; recLength = 0;}function record(inputBuffer){ recBuffersL.push(inputBuffer[0]); //recBuffersR.push(inputBuffer[1]); recLength += inputBuffer[0].length;}function exportRecord(type){ var bufferL = mergeBuffers(recBuffersL, recLength); var interleaved = interleave(bufferL); var dataview = encodeWAV(interleaved); var audioBlob = new Blob([dataview], { type: type }); this.postMessage(audioBlob);}
以上就是“html5怎么實(shí)現(xiàn)發(fā)送語音消息”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家閱讀完這篇文章都有很大的收獲,小編每天都會(huì)為大家更新不同的知識(shí),如果還想學(xué)習(xí)更多的知識(shí),請(qǐng)關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。