2017-05-23 12 views
0

を破り、これは私が(私が見た別の質問ごとに)何をしたかで保持します。JavaScriptでオーディオを再生すると、私はJavaScriptでオーディオを再生しようとしている

var audio = new Audio('music.mp3'); 
audio.play(); 

今、私は取得しています問題があることですmp3ファイルが再生されますが、壊れていて、まるで私がDVDを一時停止/再生しているかのように感じます。私は別のブラウザ(mozilla、firefox、safari)でも試しましたが、それでも同じです。誰でも問題が何であるか考えている?

+1

はhttps://www.w3schools.com/html/html5_audio([ 'audio'] HTML5を使用してみてください。 asp)タグ。 – Jer

答えて

0

この動作は少し奇妙ですが、あなたがチェックするとHTMLAudioElement MDN Referenceあなたはそれが表示されます。new Audio()で構成

アンオーディオ要素をごみは限り再生が進行中であるとして収集されることはありません。再生を続行し、stop()が呼び出されるか再生が終了するまで聞こえます。

ソリューション:

あなたが動的にHTML5 <audio>要素を作成し、コントロールの広い範囲から利益を得ることができる:play()autoplaymutedvolumepause()それはsupported in almost all browsers

デモです:

これはサンプルdです動的audio要素を作成し、JavaScriptでそれを制御エモ:

var aud = document.createElement("audio"); 
 
var source = document.createElement("source"); 
 
source.src = "https://www.soundhelix.com/examples/mp3/SoundHelix-Song-13.mp3"; 
 
source.type = "audio/mpeg"; 
 

 
aud.appendChild(source); 
 

 
//Play the Audio file 
 
aud.play(); 
 

 
//Stop it after 5 seconds 
 
setTimeout(function() { 
 
    aud.pause(); 
 
    console.log("stopped"); 
 
}, 5000);

+0

オーディオオブジェクトとオーディオ要素(DOMに挿入されていない場合)の違いは何ですか? – evolutionxbox

+0

@evolutionxboxこれはほとんど同じことですが、ブラウザのサポートとコントロール性が向上しています。 –

+0

本当にうわー?知っておくと良いですが、それは理にかなっていません。 – evolutionxbox

関連する問題