私はjavascriptでオールインワンの再生/一時停止ボタンを作成しようとしています。 clickイベントではなくaud_play_pauseの条件によって決定されます。理想的には、正しいクラス/テキストに切り替えることができます(audio.play - >アイコン「一時停止」 - >テキスト「一時停止」/ audio.paused->アイコン「再生」 - >テキスト「再生」オーディオ。バッファリング - >テキスト "自動再生機能(まあまあ)には影響しません。 JavaScriptのバッファリング処理中にテキストが "読み込み中"表示される可能性はありますか?javascriptによるオーディオバッファリング処理中にテキストを「読み込み」に置き換えますか?
私の貧弱なコーディングスキルを言い訳して、あなたのページにjQueryのを含めると期待どおりにコードが動作ここjsfinddle link
var audio = new Audio(),
u = 0;
var playlist = new Array('http://www.w3schools.com/htmL/horse.mp3', 'http://sifidesign.com/audio/explosion.mp3');
audio.addEventListener('ended', function() {
u = ++u < playlist.length ? u : 0;
console.log(u)
audio.src = playlist[u];
audio.play();
}, true);
function aud_play_pause() {
if (audio.paused) {
audio.play();
$('#play span').text('Pause');
$('#play').removeClass('play').addClass('pause');
}
else {
audio.pause();
$('#play span').text('Play');
$('#play').removeClass('pause').addClass('play');
}
}
document.querySelector('#play').addEventListener('click', aud_play_pause)
audio.volume = 0.5;
audio.loop = false;
audio.src = playlist[0];
問題はなかったということですjqueryが含まれます。それを含める方法については、この回答を参照してください:http://stackoverflow.com/questions/36620565/how-to-add-jquery-to-jsfiddle – baao