2012-01-02 44 views
5

Tôi muốn phát mp3 bằng cách sử dụng hỗ trợ âm thanh HTML 5. Tôi đã cố gắng sử dụng một thẻ âm thanh nhưng bây giờ tôi đang làm điều đó bằng cách sử dụng javascript.HTML 5 - Phát nhỏ mp3 "nội tuyến"

"Trình phát" của tôi sẽ chỉ là một hình ảnh Phát nhỏ, khi được nhấn phát âm thanh (không phải tất cả điều khiển âm thanh đều có tiến trình).

Tôi đang cố gắng phát nội dung đó bằng javascript.

function playmp3(url){ 
    var audioElement = document.createElement('audio'); 
    audioElement.setAttribute('src', url); 
    audioElement.load(); 
    audioElement.play(); 
} 

Đây là mã của tôi và mã không hoạt động. Nó thực hiện ok khi tôi nhấp vào một hình ảnh đó là nút Play của tôi.

Url là một chuỗi chứa url của tệp.

Tôi đang thử nghiệm trong các phiên bản Chrome và FF mới nhất.

+0

Bạn muốn phát video nhưng đó là mp3 và bạn đang sử dụng thẻ âm thanh? Tôi bối rối. – berry120

+0

Bạn đang nói rằng bạn đang nhìn thấy các điều khiển sai? Thẻ âm thanh của bạn trông như thế nào? Bạn có thể đăng một số ví dụ mã không? – Seth

+0

Trình duyệt của bạn có hỗ trợ mp3 không? – Michas

Trả lời

3

Đang thử nghe sự kiện canplay trước khi thử phát mp3. Dưới đây là một ví dụ về làm thế nào để làm điều đó:

function playmp3(url){ 
    var audioElement = document.createElement('audio'); 
    audioElement.setAttribute('src', url); 
    audioElement.load(); 
    audioElement.addEventListener("canplay", function() { 
     audioElement.play(); 
    }); 
} 

Sự kiện canplay được kích hoạt khi trình duyệt có thể bắt đầu chơi nhạc mp3, nhưng nó không đảm bảo rằng nó có thể chơi các file mp3 để hoàn thành. Nếu điều đó không phù hợp với mục đích của bạn, có một số sự kiện liên quan khác mà bạn có thể nghe như loadeddatacanplaythrough.