• <button id="eiyoe"><acronym id="eiyoe"></acronym></button>
    <em id="eiyoe"></em>

  • <rp id="eiyoe"><acronym id="eiyoe"><input id="eiyoe"></input></acronym></rp>
      查看: 2087|回復: 0
      上一主題 下一主題

      html5 錄制mp3音頻支持采樣率和比特率設置

      80572

      主題

      0

      好友

      積分

      離線 發信

      跳轉到指定樓層
      樓主
      發表于 2021-11-21 14:28 | 只看該作者 | 倒序瀏覽

      13年的時候做過html5錄音,一個問題是保存的wav格式文件很大,當初用了一個迂回的方式,上傳到服務器后調用 lame 編碼器轉換,但由于文件大,上傳較慢。不得不說,前端技術發展真是日新月異,有人實現了js版本的lame編碼器,可以直接在瀏覽器端錄制MP3音頻。

      lamejs介紹

      最初有個開源項目libmp3lame-js,直接將 lame 源碼編譯為 js版本,后來有人基于libmp3lame使用 js 進行了重寫,就是如今的lamejs 項目。相比libmp3lame ,自身體積更小,而且能實現更快的編碼速度。據介紹說,編碼一個132秒長度的音頻僅需6.5秒。

      錄制mp3音頻

      我對代碼進行了梳理和封裝,已發布到Github,參見 mp3-recorder。對實現過程有興趣或對使用lamejs有興趣的,可以參考我的源碼。支持Firefox 及 Webkit瀏覽器。

      采用64kbps比特率,錄制一分鐘音頻長度約為480KB。

      調用示例

      /*
          MP3的采樣頻率分為 48000 44100 32000 24000 22050 16000 12050 8000
      
          比特率值與現實音頻對照(僅供參考)
        16Kbps=電話音質
        24Kbps=增加電話音質、短波廣播、長波廣播、歐洲制式中波廣播
        40Kbps=美國制式中波廣播
        56Kbps=話音
        64Kbps=增加話音(手機鈴聲最佳比特率設定值、手機單聲道MP3播放器最佳設定值)
        112Kbps=FM調頻立體聲廣播
        128Kbps=磁帶(手機立體聲MP3播放器最佳設定值、低檔MP3播放器最佳設定值)
        160Kbps=HIFI高保真(中高檔MP3播放器最佳設定值)  
         192Kbps=CD(高檔MP3播放器最佳設定值)
        256Kbps=Studio音樂工作室(音樂發燒友適用)
      */
      
      //唯一影響mp3文件大小的參數為 bitRate
      //sampleRate 僅供特殊需求的人使用
      var recorder = new MP3Recorder({
          //numChannels: 1,     //聲道數,默認為1
          //sampleRate: 8000,   //采樣率,一般由設備提供,比如 48000
          bitRate: 64,        //比特率,不要低于64,否則可能錄制無聲音(人聲)
      
          //錄音結束事件
          complete: function (data, type) {
              //blob為mp3音頻數據
              var blob = new Blob(data, { type: type });
          }
      });
      
      //開始錄音
      recorder.start(onSuccess, onError);
      
      //停止錄音
      recorder.stop();
      
      //暫停錄音
      recorder.pause();
      
      //恢復錄音
      recorder.resume();

      使用很簡單,demo有詳細代碼,在此就不多說了。

      代碼下載

      源碼及示例代碼

      源碼更新請關注Github

      到此這篇關于html5 錄制mp3音頻支持采樣率和比特率設置的文章就介紹到這了,更多相關html5 錄制mp3音頻內容請搜索腳本之家以前的文章或繼續瀏覽下面的相關文章,希望大家以后多多支持腳本之家!

      來源:http://www.jb51.net/html5/782160.html