スタックユーザーの皆さん、こんにちは。
入力ボックスにソースを入力するオーディオプレーヤーを作成しようとしています。これまでのところ、私はそれが機能するはずの方法が本当に好きですが、入力されたファイルをロードする代わりに、元のファイルをリロードするだけです。さらに、無効なソースを入力するとプレーヤーがまったく読み込まれないため、ファイルを認識していると確信しています。
私はそれをうまく説明していないかもしれないので、ここでJSFiddleを準備しました:
http://jsfiddle.net/zT3z2/
私がテストに使用している2つの曲は次のとおりです。
- http://www.jezra.net/audio/skye_boat_song.ogg
- http://www.jezra.net/audio/star_of_the_county_down.ogg
HTML:
<input type="text" id="url" name="url" value="skye_boat_song.ogg" />
<br><br>
<audio id="sound1" preload="auto" src="http://www.jezra.net/audio/skye_boat_song.ogg"
autoplay controls></audio>
<div id="status">skye_boat_song.ogg | lorem ipsum</div>
JavaScript:
$('input#url').on('propertychange paste keyup', function () {
var url = this.value;
$("#status").html(url + " | lorem ipsum");
changeAudio("http://jezra.net/audio/" + url);
});
function changeAudio(song) {
audio = document.getElementById("sound1");
audio.src = song;
audio.load();
audio.play();
}
$('input#url').keyup();