婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁(yè) > 知識(shí)庫(kù) > HTML5網(wǎng)頁(yè)錄音和上傳到服務(wù)器支持PC、Android,支持IOS微信功能

HTML5網(wǎng)頁(yè)錄音和上傳到服務(wù)器支持PC、Android,支持IOS微信功能

熱門標(biāo)簽:電銷機(jī)器人視頻 洛陽(yáng)市伊川縣地圖標(biāo)注中心官網(wǎng) 江蘇高頻外呼系統(tǒng)線路 會(huì)聲會(huì)影怎樣做地圖標(biāo)注效果 地圖標(biāo)注自己去過的地方 標(biāo)準(zhǔn)智能外呼系統(tǒng) 搜狗星級(jí)酒店地圖標(biāo)注 高德地圖標(biāo)注錯(cuò)誤怎么修改 平頂山電子地圖標(biāo)注怎么修改

準(zhǔn)備做一個(gè)網(wǎng)頁(yè)版聊天界面,表情啊、圖片啊、上傳文件啊都應(yīng)該要有,視頻就算了,語(yǔ)音還是要的。

本文記錄的是在網(wǎng)頁(yè)上用GitHub上的Recorder進(jìn)行在線錄音和上傳到服務(wù)器。

錄音代碼

本示例代碼支持PC、Android、IOS(僅Safari)中使用,如果用RecordApp可增加對(duì)IOS(微信瀏覽器、小程序)的支持。

看萬(wàn)遍代碼不如行動(dòng)一遍,新建一個(gè)html文件,把下面三段代碼復(fù)制到文件內(nèi),雙擊瀏覽器打開就能進(jìn)行測(cè)試。
 

<!-- 先加載js錄音庫(kù),注意:你應(yīng)該把js clone到本地使用 --><meta charset="utf-8" />
<script src="https://xiangyuecn.github.io/Recorder/recorder.mp3.min.js"></script>

<input type="button" onclick="startRec()" value="開始錄音">
<hr>
<input type="button" onclick="playRec()" value="結(jié)束并播放">
<input type="button" onclick="uploadRec()" value="結(jié)束并上傳">

<script>
var rec;
function startRec(){
    rec=Recorder();//使用默認(rèn)配置,mp3格式
    
    //打開麥克風(fēng)授權(quán)獲得相關(guān)資源
    rec.open(function(){
        //開始錄音
        rec.start();
    },function(msg,isUserNotAllow){
        //用戶拒絕了權(quán)限或?yàn)g覽器不支持
        alert((isUserNotAllow?"用戶拒絕了權(quán)限,":"")+"無(wú)法錄音:"+msg);
    });
};
</script>

上傳服務(wù)器代碼

<script>
function uploadRec(){
    //停止錄音,得到了錄音文件blob二進(jìn)制對(duì)象,想干嘛就干嘛
    rec.stop(function(blob,duration){
        /*
        blob文件對(duì)象,可以用FileReader讀取出內(nèi)容
        ,或者用FormData上傳,本例直接上傳二進(jìn)制文件
        ,對(duì)于普通application/x-www-form-urlencoded表單上傳
        ,請(qǐng)參考github里面的例子
        */
        var form=new FormData();
        form.append("upfile",blob,"recorder.mp3"); //和普通form表單并無(wú)二致,后端接收到upfile參數(shù)的文件,文件名為recorder.mp3
        
        //直接用ajax上傳
        var xhr=new XMLHttpRequest();
        xhr.open("POST","http://baidu.com/修改成你的上傳地址");//這個(gè)假地址在控制臺(tái)network中能看到請(qǐng)求數(shù)據(jù)和格式,請(qǐng)求結(jié)果無(wú)關(guān)緊要
        xhr.onreadystatechange=function(){
            if(xhr.readyState==4){
                alert(xhr.status==200?"上傳成功":"測(cè)試請(qǐng)先打開瀏覽器控制臺(tái),然后重新錄音,在network選項(xiàng)卡里面就能看到上傳請(qǐng)求數(shù)據(jù)和格式了");
            }
        }
        xhr.send(form);
    },function(msg){
        alert("錄音失敗:"+msg);
    });
};</script>

立即播放代碼

<script>
function playRec(){
    //停止錄音,得到了錄音文件blob二進(jìn)制對(duì)象,想干嘛就干嘛
    rec.stop(function(blob,duration){
        var audio=document.createElement("audio");
        audio.controls=true;
        document.body.appendChild(audio);
        
        //非常簡(jiǎn)單的就能拿到blob音頻url
        audio.src=URL.createObjectURL(blob);
        audio.play();
    },function(msg){
        alert("錄音失敗:"+msg);
    });
};</script>

--------------------------------------------------------------------------------

Recorder

GitHub地址:https://github.com/xiangyuecn/Recorder

在線測(cè)試: 點(diǎn)此測(cè)試

Recorder用于html5錄音,為一個(gè)純粹的js庫(kù),支持大部分已實(shí)現(xiàn)getUserMedia的移動(dòng)端、PC端瀏覽器,包括騰訊Android X5內(nèi)核(QQ、微信)。

錄音默認(rèn)輸出mp3格式,另外可選wav格式(此格式錄音文件超大);有限支持ogg、webm、amr格式;支持任意格式擴(kuò)展(前提有相應(yīng)編碼器)。

小巧:如果對(duì)錄音文件大小沒有特別要求,可以僅僅使用錄音核心+wav編碼器,源碼不足300行,壓縮后的recorder.wav.min.js不足4kb。mp3使用lamejs編碼,壓縮后的recorder.mp3.min.js開啟gzip后54kb。

由于IOS(11.X、12.X)上只有Safari支持getUserMedia,其他瀏覽器均不支持H5錄音,因此額外針對(duì)IOS對(duì)Recorder進(jìn)行了進(jìn)一步的兼容封裝,升級(jí)成了RecordApp,用于支持微信(含瀏覽器、小程序web-view),另外RecordApp對(duì)Hybrid App也提供了更加優(yōu)秀的支持。

由于RecordApp需要微信公眾(訂閱)號(hào)提供JsSDK錄音支持,所以開發(fā)難度會(huì)大些,但支持的環(huán)境更多。Recorder拿來(lái)就能用,具體使用哪個(gè)請(qǐng)參考下表:

支持 Recorder RecordApp
PC瀏覽器
Android瀏覽器
Android微信(含小程序)
Android Hybrid App
IOS Safari
IOS微信(含小程序)  
IOS Hybrid App  
IOS其他瀏覽器    
開發(fā)難度 簡(jiǎn)單 復(fù)雜
第三方依賴 無(wú) 依賴微信公眾號(hào)

* 可到github中查閱RecordApp源碼,在目錄xiangyuecn/Recorder/app-support-sample中。

以上所述是小編給大家介紹的HTML5網(wǎng)頁(yè)錄音和上傳到服務(wù)器支持PC、Android,支持IOS微信功能,希望對(duì)大家有所幫助,如果大家有任何疑問請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!
如果你覺得本文對(duì)你有幫助,歡迎轉(zhuǎn)載,煩請(qǐng)注明出處,謝謝!

標(biāo)簽:松原 廣東 果洛 蚌埠 鄂爾多斯 常德 廣西 阿克蘇

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《HTML5網(wǎng)頁(yè)錄音和上傳到服務(wù)器支持PC、Android,支持IOS微信功能》,本文關(guān)鍵詞  HTML5,網(wǎng)頁(yè),錄音,和,上,傳到,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《HTML5網(wǎng)頁(yè)錄音和上傳到服務(wù)器支持PC、Android,支持IOS微信功能》相關(guān)的同類信息!
  • 本頁(yè)收集關(guān)于HTML5網(wǎng)頁(yè)錄音和上傳到服務(wù)器支持PC、Android,支持IOS微信功能的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    主站蜘蛛池模板: 阜新市| 太谷县| 乳山市| 东阳市| 苍山县| 绵阳市| 西乌| 抚顺县| 江山市| 隆子县| 成安县| 丽水市| 贵德县| 雅安市| 电白县| 五家渠市| 扶余县| 桃园县| 子长县| 罗甸县| 建水县| 峨眉山市| 阿坝县| 庄浪县| 德州市| 鸡东县| 闸北区| 清苑县| 大悟县| 百色市| 习水县| 济源市| 张掖市| 屏东市| 涿州市| 吴堡县| 阿城市| 任丘市| 穆棱市| 辽阳县| 温宿县|