をクリックして、エラーに変更したオーディオファイル私は、ボタンのクリックで音声ファイルを変更しようとしています
Uncaught TypeError: audio.load is not a function
を取得しています私のコードは以下の通りです、アイデアは、ボタンを押して、音声ファイルを押すことです変更されます。
audio.load()
行がないと、コードが実行され、src
は更新されますが、音声は変更されません。私は何が欠けていますか?
HTML:
<!DOCTYPE HTML>
<html>
<body>
<br>
<audio controls>
<source src = "audio_file_1.mp3"
id="audio" type="audio/mpeg">
Your browser does not support the audio element!
</audio>
<br>
<button onClick="changeAudio();">Change</button>
</body>
<script src="temp.js"></script>
</html>
Javascriptを:
// temp js
var a = 1;
function changeAudio() {
var audio = document.getElementById('audio');
if (a==1) {
audio.src = 'audio_file_1.mp3';
a = 2;
}
else {
audio.src = 'audio_file_2.mp3';
a = 1;
}
audio.load();
}
changeAudio();
誰もが私はaudio_file_1.mp3
とaudio_file_2.mp3
の代わりに使用することができます例のサウンドファイルを知っていれば(また、私は、コードを更新するために幸せになります誰でも簡単に実行できます)
編集WRT Rob M's ans WERは:
同じ問題を持つ人のための、解決策は2つの行を変更することです:
まず、HTMLコードで、<audio control>
はjavascriptのコードaudio.load()
で、<audio control id="audio_id">
第二に向ける必要があります<source>
タグにはイベントはありませんdocument.getElementById('audio_id').load();
は、あなたが 'を呼び出すしてはいけません.LOAD()'実際の '
、変化する音声ファイルのようなものでなければなりません素子? –
はい、絶対に間違いありません。あなたが答えを書いたければ、私はそれを受け入れます –