2012-04-20 47 views
8

Tôi đang cố gắng sử dụng javascript này để lặp một yếu tố âm thanh:HTML 5 yếu tố âm thanh không lặp trong Rails

music.js:

myAudio = new Audio('/assets/drumloop.mp3'); 
myAudio.loop = true; 
myAudio.play(); 

Khi tôi bao gồm này như một kịch bản trong một tệp html thuần túy và mở tệp html trong Safari 5.1, nó lặp lại rất tốt. Khi tôi đưa javascript này từ ứng dụng Rails của tôi chạy trên một máy chủ đường ray cục bộ, các lần phát âm thanh, nhưng không lặp lại.

Tôi đã cố gắng sử dụng một callback trên các sự kiện 'kết thúc' để thiết lập thời gian để zero và chơi một lần nữa (như đề xuất here, nhưng điều đó không làm việc, hoặc.

Có thể rằng đường ray không gửi đầy đủ thông tin trong tiêu đề http

+0

Lạ ... Nó hoạt động một khi nó được đẩy tới heroku, vì vậy có thể nó có liên quan đến việc phân phối các tài sản biên dịch trước ... Quay lại tiêu đề http ... Tôi sẽ gỡ lỗi này nếu tôi gặp nó, nhưng trong thời gian có nghĩa là nó đủ tốt! – Ricky

+1

nếu bạn không đặt nó trong đường dẫn nội dung, nó vẫn có vấn đề? – Matt

Trả lời

1

Tôi thường gặp phải sự cố tương tự. Tôi đã không tìm thấy giải pháp thực sự, nhưng đã đi kèm với một giải pháp "đủ tốt trong quá trình phát triển".

Tôi đã kết thúc việc ném các tệp âm thanh của mình lên máy chủ khác và tham chiếu chúng từ ứng dụng đường ray trong quá trình phát triển nếu tôi thực sự cần kiểm tra vòng lặp hoặc tìm kiếm.

Apache chạy trên máy chủ cục bộ đã làm việc tốt cho tôi. Bạn cũng có thể sử dụng máy chủ web. Chỉ cần chắc chắn để thay đổi những con đường trở lại trước khi triển khai!

Siêu bực bội.

+0

+1 cho chủ nghĩa thực dụng hơn vẻ sang trọng. – Ricky

0

Bạn không cần JS cho điều này Cố gắng HTML này:?.

<audio controls="controls" loop="loop"> 
    <source src="/assets/drumloop.mp3" type="audio/mpeg" /> 
</audio> 

Điều quan trọng là loop = "loop"

+0

Cảm ơn, nhưng vấn đề là nó không tuân theo các thẻ này khi nó được phục vụ bởi máy chủ đường ray cục bộ. Tôi có quá nhiều thứ khác để làm như vậy tôi đã không có cơ hội để gỡ lỗi đúng cách, nhưng như tôi đã nói, tôi nghi ngờ có một số thông tin tiêu đề bổ sung mà nó gửi khi dữ liệu âm thanh được phục vụ bởi heroku. – Ricky

Các vấn đề liên quan