HTML 5のウェブページの録音とサーバーにアップロードして、PC、Androidを支持して、IOSの微信を支持します
8118 ワード
GitHub: github.com/xiangyuecn/...オンラインテスト:このテストをクリック
本稿では、オープンソースjsライブラリ
ろくおんコード
この例のコードは、
万遍コードを見るより行動してhtmlファイルを新規作成し、次の3つのコードをファイル内にコピーし、ブラウザをダブルクリックして開くと効果が得られます.
サーバコードのアップロード
今すぐコードを再生
Recorderの概要
録音デフォルト出力
コンパクト:録音ファイルのサイズに特に要求がなければ、
サポート
Recorder
RecordApp
PCブラウザ
√
√
Androidブラウザ
√
√
Android微信(ウィジェット含む)
√
√
Android Hybrid App
√
√
IOS Safari
√
√
IOS微信(ウィジェットを含む)
√
IOS Hybrid App
√
IOSその他のブラウザ
開発の難易度
単純
複雑
サードパーティ依存
なし
ウィーチャットの公衆番号に依存
*ここでは主に
最後に
詳細な使用とチュートリアルはGitHubで確認してください:github.com/xiangyuecn/…
このライブラリが役に立つ場合は、Starをクリックしてください.
本稿では、オープンソースjsライブラリ
Recorder
を紹介し、Webページ上でオンライン録音とサーバへのアップロードを行います.ろくおんコード
この例のコードは、
PC
、Android
、IOS( Safari)
で使用される場合、RecordApp
で使用される場合、IOS( 、 )
のサポートを追加することができる.万遍コードを見るより行動してhtmlファイルを新規作成し、次の3つのコードをファイル内にコピーし、ブラウザをダブルクリックして開くと効果が得られます.
<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=" ">
<input type="button" onclick="uploadRec()" value=" ">
<script>
var rec;
function startRec(){
rec=Recorder();// ,mp3
//
rec.open(function(){
//
rec.start();
},function(msg,isUserNotAllow){
//
alert((isUserNotAllow?" ,":"")+" :"+msg);
});
};
script>
サーバコードのアップロード
<script>
function uploadRec(){
// , blob ,
rec.stop(function(blob,duration){
/*
blob , FileReader
, FormData ,
, application/x-www-form-urlencoded
, github
*/
var form=new FormData();
form.append("upfile",blob,"recorder.mp3"); // form , upfile , recorder.mp3
// ajax
var xhr=new XMLHttpRequest();
xhr.open("POST","http://baidu.com/ ");// network ,
xhr.onreadystatechange=function(){
if(xhr.readyState==4){
alert(xhr.status==200?" ":" , , network ");
}
}
xhr.send(form);
},function(msg){
alert(" :"+msg);
});
};script>
今すぐコードを再生
<script>
function playRec(){
// , blob ,
rec.stop(function(blob,duration){
var audio=document.createElement("audio");
audio.controls=true;
document.body.appendChild(audio);
// blob url
audio.src=URL.createObjectURL(blob);
audio.play();
},function(msg){
alert(" :"+msg);
});
};script>
Recorderの概要
Recorder
はhtml 5録音のために使用され、純粋なjsライブラリであり、getUserMedia
が実装された
、PC
の大部分をサポートし、 Android X5
(QQ
、
)を含む.録音デフォルト出力
mp3
、さらにオプションwav
(このフォーマットの録音ファイルは超大きい).ogg
、webm
、amr
、
フォーマットを限定的にサポートします.任意のフォーマット拡張をサポートします(対応するエンコーダが前提).コンパクト:録音ファイルのサイズに特に要求がなければ、
wav
+recorder.wav.min.js
、ソースコードが300行未満、圧縮後のmp3
が4 kb未満しか使用できません.lamejs
はrecorder.mp3.min.js
を用いて符号化され、圧縮されたgzip
はIOS(11.X、12.X)
後54 kbをオンにする.Safari
にはgetUserMedia
しか対応していないため、他のブラウザではH 5録音はサポートされていないため、IOS
に対してRecorder
のさらなる互換パッケージが追加され、RecordApp
にアップグレードされ、微信(
、 web-view
を含む)をサポートするために使用され、またRecordApp
はHybrid App
に対してより優れたサポートを提供している.RecordApp
は、JsSDK
の録音サポートを微信公衆(購読)番号で提供する必要があるため、開発の難しさは大きいが、サポートされる環境はもっと多い.Recorder
持って来れば使えますが、具体的にどれを使うかは下表を参考にしてください.サポート
Recorder
RecordApp
PCブラウザ
√
√
Androidブラウザ
√
√
Android微信(ウィジェット含む)
√
√
Android Hybrid App
√
√
IOS Safari
√
√
IOS微信(ウィジェットを含む)
√
IOS Hybrid App
√
IOSその他のブラウザ
開発の難易度
単純
複雑
サードパーティ依存
なし
ウィーチャットの公衆番号に依存
*ここでは主に
Recorder
を使用して録音することを紹介します.より複雑で強力なRecordApp
はgithubでご確認ください.最後に
詳細な使用とチュートリアルはGitHubで確認してください:github.com/xiangyuecn/…
このライブラリが役に立つ場合は、Starをクリックしてください.