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

基于JS實現(xiàn)web端錄音與播放功能

 更新時間:2019年04月17日 08:51:58   作者:2FPS  
這篇文章主要介紹了純js實現(xiàn)web端錄音與播放功能,非常不錯,具有一定的參考借鑒價值,需要的朋友可以參考下

純js實現(xiàn)web端錄音功能,功能并不是特別多,逐步增加中,詳細地址:github。

getUserMedia在非localhost和127的情況下,需要開啟https,由于騰訊云的沒備案,demo就不放了,可以自行獲取代碼并啟動測試。

實現(xiàn)方式

實現(xiàn)原理的話,主要是以下三點,

  • 利用webrtc的getUserMedia方法獲取設備音頻輸入,使用audioprocess得到音頻流(pcm流,范圍-1到1)。
  • 轉(zhuǎn)碼,利用前端中的ArrayBuffer等二進制操作按采樣位數(shù)處理流信息。
  • 使用decodeAudioData轉(zhuǎn)碼arraybuffer到audioBuffer并播放(小文件,大文件使用audio)。

使用方式

script方式

直接引入dist下的recorder.js即可

let recorder = new Recorder();

npm方式

安裝:

npm i js-audio-recorder

調(diào)用:

import Recorder from 'js-audio-recorder';
let recorder = new Recorder();

API

基本方法

// 開始錄音
recorder.start();
// 暫停錄音
recorder.pause();
// 繼續(xù)錄音
recorder.resume()
// 結束錄音
recorder.stop();
// 錄音播放
recorder.play();
// 銷毀錄音實例,釋放資源,fn為回調(diào)函數(shù),
recorder.destroy(fn);
recorder = null;
下載功能
// 下載pcm文件
recorder.downloadPCM();
// 下載wav文件
recorder.downloadWAV();
// 重命名pcm文件,wav也支持
recorder.downloadPCM('重命名');
獲取錄音時長
// 回調(diào)持續(xù)輸出時長
recorder.onprocess = function(duration) {
  console.log(duration);
}
// 手動獲取錄音時長
console.log(recorder.duration);

默認配置

sampleBits,采樣位數(shù),默認是16
sampleRate,采樣頻率,瀏覽器默認的,我的chrome是48000
numChannels,聲道數(shù),默認是1

傳入?yún)?shù)

new Recorder時支持傳入?yún)?shù),

{
  sampleBits: 16,     // 采樣位數(shù),范圍8或16
  sampleRate: 16000,   // 采樣率,范圍11025、16000、22050、24000、44100、48000
  numChannels: 1,     // 聲道,范圍1或2
}

注意

使用127.0.0.1或localhost嘗試,因為getUserMedia在高版本的chrome下需要使用https。

兼容性

主要是以下幾個方面:

Web Audio Api

https://caniuse.com/#search=w...

getUserMedia

https://caniuse.com/#search=g...

Typed Arrays

https://caniuse.com/#search=t...

歡迎訪問和查看:recorder。

總結

以上所述是小編給大家介紹的基于JS實現(xiàn)web端錄音與播放功能,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!
如果你覺得本文對你有幫助,歡迎轉(zhuǎn)載,煩請注明出處,謝謝!

相關文章

最新評論

西畴县| 厦门市| 公安县| 广饶县| 靖宇县| 山阴县| 梅河口市| 城口县| 浪卡子县| 南通市| 安阳县| 胶州市| 黄石市| 阳城县| 仪征市| 吉林省| 敦煌市| 广昌县| 始兴县| 房产| 万宁市| 梅河口市| 淅川县| 江达县| 余庆县| 社旗县| 长治县| 昆明市| 普兰店市| 含山县| 呼玛县| 乐平市| 蓬溪县| 敦化市| 出国| 剑河县| 班戈县| 南靖县| 筠连县| 景东| 祁门县|