1. ホーム

recordMP3 は、Web 録音、アップロード、再生機能を実装しています。

2022-02-24 08:35:32

<スパン http://blog.csdn.net/sweetsuzyhyf/article/details/50469881 より取得



<スパン パッケージのダウンロードはこちら: http://download.csdn NET /詳細/sweetsuzyhyf/9393053

ソースコードはすべてここにあります。

[html】をご覧ください。] 表示プレーン コピー
印刷 ?
  1. <スパン <!DOCTYPE html >
  2. < html >
  3. < ヘッド >
  4. < メタ http-equiv = "Content-Type"。 内容 = "text/html; charset=utf-8"。 />
  5. < タイトル > Html5のWeb JavaScriptの録音MP3オーディオ </ タイトル >
  6. < メタ 文字セット = "utf-8"。 />
  7. <スパン </ ヘッド >
  8. < 本体 >
  9. < h1 > Html5のWeb JavaScriptの録音MP3オーディオ </ h1 >
  10. < ボタン オンクリック = <スパン "funStart(this);" イド = btnStart"  無効 > レコーディング </ ボタン >
  11. < ボタン オンクリック = <スパン "funStop(this);" イド = btnStop"。  使用不可 > 停止 <スパン </ ボタン >
  12. < ボタン オンクリック = <スパン "funUpload(this);" イド = "btnUpload"。  使用不可 > アップロード <スパン </ ボタン >
  13. < h4 > デバッグ情報です。 </ h4 >
  14. < ディブ イド = 録画リスト"録画リスト" > <スパン </ ディブ >
  15. < スクリプト src <スパン = "js/recordmp3.js"。 > </ スクリプト >
  16. < スクリプト >
  17.         ヴァル  レコーダー <スパン  =  <スパン 新しい  MP3Recorder({.  
  18.             debug:trueを指定します。  
  19.             funOk: function () {  
  20. btnStart.disabled  =  虚偽 ;  
  21.                 log('初期化成功');  
  22.             },  
  23.             funCancel: 関数 (msg) {...  
  24.                 log(msg)を実行します。  
  25. レコーダー <スパン  =  ヌル ;  
  26.             }  
  27.         });  
  28.         var mp3Blob;  
  29. <スパン
  30.         関数funStart(button) {  
  31. btnStart.disabled  =  ;  
  32. btnStop.disabled  =  虚偽 ;  
  33. btnUpload.disabled。  =  ;  
  34.             log('録画が始まりました...') ;  
  35.             recorder.start()を実行します。  
  36.         }  
  37. <スパン         function funStop(button) {  
  38.             recorder.stop()を実行します。  
  39. btnStart.disabled  =  虚偽 ;  
  40. btnStop.disabled  =  <スパン 真 ;  
  41. btnUpload.disabled。  =  虚偽 ;  
  42.             log('End of recording, MP3 export in progress...') ;  
  43.             レコーダー.getMp3Blob(関数 (blob) {)  
  44.                 log('MP3エクスポート成功');  
  45. <スパン mp3Blob <スパン  =  ブロブ ;  
  46.                 ヴァル  url  =  <スパン URL .createObjectURL(mp3Blob);  
  47.                 ヴァル  ディブ  =  ドキュメント .createElement('div');  
  48.                 ヴァル  オー  =  ドキュメント .createElement('audio');  
  49.                 ヴァル  hf <スパン  =  ドキュメント .createElement('a');  
  50. <スパン au.コントロールズ  =  <スパン 真 ;  
  51. au.src  =  <スパン url ;  
  52. hf.href  =  <スパン url ;  
  53. hf.ダウンロード <スパン  =  <スパン 新しい  Date().toISOString() + '.mp3';  
  54. hf.innerHTML  =  hf <スパン .ダウンロード  
  55.                 div.appendChild(au)。  
  56.                 div.appendChild(hf)。  
  57.                 recordingslist.appendChild(div)。  
  58.             });  
  59.         }  
  60.         関数log(str) {  
  61.             recordingslist.innerHTML += str + '. < ブリュ /> ';  
  62.         }  
  63.         function funUpload() {  
  64.             VAR  fd  =  <スパン 新しい  FormData()です。  
  65.             ヴァル  mp3名  =  encodeURIComponent ('audio_recording_' + new Date().getTime() + '.mp3') となります。  
  66.             fd.append('mp3Name',mp3Name)を実行します。  
  67.             fd.append('file', mp3Blob);  
  68.             ヴァル  xhr  =  <スパン 新しい  XMLHttpRequest()を使用します。  
  69. xhr.onreadystatechange  =  <スパン 機能 <スパン  () {  
  70. <スパン                 もし xhr.readyState  == 4 &&  xhr.status  == 200) {  
  71.                     recordingslist.innerHTML += 'アップロードに成功しました。 < a ホールド = "' + xhr.responseText + '" ターゲット = "_blank"。 > <スパン ' + mp3Name + ' <スパン </ a > ';  
  72.                 }  
  73.             };  
  74.             xhr.open('POST', 'upload.ashx')。  
  75.             xhr.send(fd)を実行します。  
  76.         }  
  77. </ スクリプト >
  78. <スパン </ 本体 >
  79. <スパン </ html >

[javascript] を使用します。 表示プレーン