pc端調(diào)用設備音頻實現(xiàn)錄音功能

項目中要pc端錄音的功能,花了兩天時間折騰了一下,目前可以兼容大多數(shù)主流瀏覽器,總體思路是:支持navigator.getUserMedia的瀏覽器采用H5 API 實現(xiàn),不支持的基于flash實現(xiàn)。

基礎知識

  1. navigator對象
  2. getUserMedia函數(shù)
  3. SWFObject如何使用
  4. .swf文件由來
  5. audio/video 標簽
  6. 封裝了getUserMedia的庫函數(shù):recorder.js

代碼示例

  1. 使用navigator.getUserMedia實現(xiàn)
navigator.getUserMedia({
       audio:true,
       video:true
},function(stream){
       document.getElementById('audio').src = createObjectURL(stream);
},function(err){
       console.log(err);
})
  1. 在頁面中插入靜態(tài)flash代碼
    <object id="webcamXobjectX" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" width="200" height="200" >
        <param name="movie" value="sound _record.swf"></param>
        <object id="XwebcamXobjectX" type="application/x-shockwave-flash" data="sound_record.swf" width="200" height="200">
            <param name="FlashVars"  value="mode=callback;quality=85"
            <param name="allowScriptAccess" value="always" />
        </object>
    </object>
  1. 在頁面中借助SWFObject動態(tài)生成flash代碼
/**
      @ swfUrl    String   required    swf文件地址
      @ id        String   required    替換元素id
      @ width     String   required    指定swf的寬度
      @ height    String   required    指定swf的高度
      @ version   String   required   swf文件所需的adobe flash player的版本
      @ expressInstallSwfurl    String   optional    swf快速安裝路徑
      @ flashvars Object    Optional    傳遞給swf文件的參數(shù)
      @ params    Object    Optional    指定嵌入對象的參數(shù)
      @ attributes Object   Optional    指定對象的屬性
      @ callbackFn Object   Optional    flash文件插入成功或者失敗的回調(diào)函數(shù)  
    */
    swfobject.embedSWF(swfUrl, id, width, height, version, expressInstallSwfurl, flashvars, params, attributes, callbackFn) 
最后編輯于
?著作權歸作者所有,轉載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內(nèi)容

  • Spring Cloud為開發(fā)人員提供了快速構建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,545評論 19 139
  • 學習HTML的最佳網(wǎng)站沒有之一http://www.w3school.com.cn/html/ 關于HTML/HT...
    Amyyy_閱讀 2,376評論 0 16
  • 1. Java基礎部分 基礎部分的順序:基本語法,類相關的語法,內(nèi)部類的語法,繼承相關的語法,異常的語法,線程的語...
    子非魚_t_閱讀 34,664評論 18 399
  • 經(jīng)過第一期《“五朵花”與文化墻》的浮現(xiàn)。第二期,也出版啦!在第一期的基礎上我們又增加了新的內(nèi)容,讓整個文化墻變得文...
    Floar羅春燕閱讀 319評論 0 2
  • 第一次看這本書大概是2009、2010年左右,那時我第一次考研,非常需要它來給我打打雞血,最近又翻起來看,依然覺得...
    兔紙先森閱讀 730評論 2 17

友情鏈接更多精彩內(nèi)容