2012-03-06 5 views
9

Tôi đang cố gắng sử dụng jQuery để điều khiển phần tử âm thanh HTML5, nhưng tôi không thiên tài với JS. Điều tôi muốn là để người chơi bắt đầu tải trang, mà tôi đã thực hiện, nhưng khi nút phát được nhấp, tôi muốn kiểm tra xem âm thanh có đang phát hay không. Nếu video phát khi được nhấp: Dừng âm thanh. Nếu nó không phát khi được nhấp: Phát âm thanh.Sử dụng jQuery để điều khiển phần tử HTML5 <audio>

Nếu bạn có thể trợ giúp, nó sẽ được đánh giá cao.

Nguồn ở đây: http://www.julake.co.uk/media/loader.php?page=contact

Rất cám ơn,

Trả lời

12

bạn nên sử dụng một nút play/tạm dừng chuyển đổi duy nhất trong đó bạn cần phải kiểm tra xem âm thanh của bạn tạm dừng hoặc không

var audioplayer = document.getElementById("audio-player"); 
$("#play-bt").click(function(){ 
    if (audioplayer.paused) { 
     audioplayer.play(); 
    } 
    else { 
     audioplayer.pause(); 
    } 
    $(this).toggleClass('pause'); /* style your toggle button according to 
             the current state */ 
}) 
+0

Rất cám ơn, đó là những gì tôi đã làm sau. Bạn thật tuyệt vời! – futureslay

+0

Làm thế nào để sử dụng jQuery lười biếng? Nó sẽ được sử dụng, tại sao mọi người không thể sử dụng nó? – Banny

2
var audio = new Audio("http://www.w3schools.com/html5/song.ogg"); //or you can get it with getelementbyid 

audio.addEventListener('canplay', function() { 
//code, when audio can play 
audio.play(); //this function will start the music 
}) 

với audio.play() chức năng bạn có thể bắt nó. Bạn không cần phải JQuery

+0

bạn có biết cách phát bài hát khác khi kết thúc không? – RicardoE

1

Nếu bạn muốn sử dụng một selector jquery hoặc có một bộ chọn jquery đã có, bạn có thể thêm [0] để lấy phần tử dom gốc.

Vì vậy, một ví dụ thực sự sử dụng jquery sẽ là.

$('audio')[0].pause()