13
私はちょうどHTML5を習得し始めました.JQueryを使用してHTML5オーディオプレーヤーを使用していました。私はPlaylistでプレーヤをコーディングしましたが、すべての動作は、入力範囲のスライダが機能しないような期間を除いて正常です。私がデバッグしたとき、私の持続時間が私にNANを示していることが分かった。私は曲が初期化された後の時間を設定しています。ここでHTML5オーディオプレーヤー再生時間NANを表示
は、私のJSコードは、私がプレイリストの曲をクリックすると、所要時間は常にNANですが、私は、その後の期間を、再生ボタンをクリックしたときにデフォルトで私は、ページの読み込みに直接1曲を設定し、している
jQuery(document).ready(function() {
container = $('.container');
playList = $('#playlist');
playListSong = $('#playlist li');
cover = $('.cover');
play = $('#play');
pause = $('#pause');
mute = $('#mute');
muted = $('#muted');
close = $('#close');
song = new Audio('music/Whistle-Flo-Rida-Mp3-Download.mp3','music/Whistle-Flo-Rida-Mp3-Download.mp3');
var canPlay = song.canPlayType('audio/mpeg;');
if (canPlay) {
song.type= 'audio/mpeg';
song.src= 'music/Whistle-Flo-Rida-Mp3-Download.mp3';
}
playListSong.click(function(){
$('#close').trigger('click');
window["song"] = new Audio('music/'+$(this).html()+'.mp3','music/'+$(this).html()+'.mp3');
$('#play').trigger('click');
});
play.live('click', function(e) {
e.preventDefault();
song.play();
//cover.attr("title", song.duration);
$(this).replaceWith('<a class="button gradient" id="pause" href="" title=""><span>k</span></a>');
$('#close').fadeIn(300);
$('#seek').attr('max',song.duration);
});
pause.live('click', function(e) {
e.preventDefault();
song.pause();
$(this).replaceWith('<a class="button gradient" id="play" href="" title=""><span>d</span></a>');
});
mute.live('click', function(e) {
e.preventDefault();
song.volume = 0;
$(this).replaceWith('<a class="button gradient" id="muted" href="" title=""><span>o</span></a>');
});
muted.live('click', function(e) {
e.preventDefault();
song.volume = 1;
$(this).replaceWith('<a class="button gradient" id="mute" href="" title=""><span>o</span></a>');
});
$('#close').click(function(e) {
e.preventDefault();
container.removeClass('containerLarge');
cover.removeClass('coverLarge');
song.pause();
song.currentTime = 0;
$('#pause').replaceWith('<a class="button gradient" id="play" href="" title=""><span>d</span></a>');
$('#close').fadeOut(300);
});
$("#seek").bind("change", function() {
song.currentTime = $(this).val();
$("#seek").attr("max", song.duration);
});
song.addEventListener('timeupdate',function(){
curtime = parseInt(song.currentTime, 10);
$("#seek").attr("value", curtime);
});
});
です正常に動作します。それはプレイリストの曲にはうまくいかない。
「durationchang」イベントを代わりに使用すると、変更されるたびに期間表示が更新されます。 –
答えは私に良いヒントを与えます。 – Calvin
このコードはどこで使用しますか? – Jaromjj