2010-02-14 55 views
12

Tôi đang làm việc trên trình phát âm thanh html5 và mọi thứ đều hoạt động tốt khi tôi xử lý tệp .ogg từ cùng một máy chủ với trang html. Khi tôi đặt các tập tin ogg trong cdn của tôi nó thất bại và mã lỗi sẽ được MEDIA_ERR_SRC_NOT_SUPPORTEDMEDIA_ERR_SRC_NOT_SUPPORTED tai nạn âm thanh html5

Ví dụ, điều này hoạt động tốt

<audio src="/song.ogg" id="player"> 
    Your browser does not support the <code>audio</code> element. 
</audio> 

Nhưng điều này không thành công với mã lỗi trên

<audio src="http://mycdn.com/song.ogg" id="player"> 
    Your browser does not support the <code>audio</code> element. 
</audio> 

Các tiêu đề cho tệp âm thanh không trông giống như thế này (đây là tệp ogg khác có cùng hành vi)

HTTP/1.1 200 OK 
Server: CacheFlyServe v26b 
Date: Sat, 13 Feb 2010 21:10:48 GMT 
Content-Type: application/octet-stream 
Connection: close 
ETag: "c6ee7d86e808cc44bbd74a8db94a5aae" 
X-CF1: fA.syd1:cf:cacheD.syd1-01 
Content-Length: 2398477 
Last-Modified: Sat, 13 Feb 2010 20:50:56 GMT 
Accept-Ranges: bytes 
X-Cache: MISS from deliveryD-syd1 
+0

Tôi không thể đưa ra một ý tưởng giải thích điều này (bạn có thể thấy các lý do có thể liệt kê tại http://www.whatwg.org/specs/web-apps/current-work/multipage/video.html). Sẽ dễ dàng hơn nếu bạn tuyên bố phiên bản trình duyệt nào bạn sử dụng, liệt kê các tiêu đề hoặc tốt hơn, thậm chí cung cấp testcase bằng các URL thực. – Nickolay

+0

chi tiết và ví dụ được thêm – jshen

Trả lời

7

Tiêu đề Content-Type = octet/stream là vấn đề, mặc dù nếu tôi đọc thông số chính xác, thì không nên. Dưới đây là một testcase: http://mozilla.doslash.org/stuff/video-test/video.html

I filed a bug trong bugzilla của Mozilla về việc này. [sửa] phản hồi:

Chúng tôi không làm bất kỳ nội dung nào đánh hơi để tìm ra nội dung - chúng tôi dựa vào loại mime chính xác đang được cung cấp. Đây là lý do tại sao ứng dụng/octet-stream thực hiện không phát và cách chúng tôi trả lại "" cho canPlayType.

+1

cảm ơn, tôi nghĩ rằng tôi cần ngủ khi tôi đăng nội dung này. Tôi có thể thề rằng tôi đã xem Content-Type của cái đã làm việc và đó là ứng dụng/octet-stream. Nhìn vào nó bây giờ nó là ứng dụng/ogg – jshen

1

Sự cố là loại mime bạn đang phân phát tệp âm thanh. Nó cần phải là 'âm thanh/ogg', 'ứng dụng/ogg' hoặc 'video/ogg' để Firefox phát. Firefox không thực hiện bất kỳ hình thức 'ngửi nội dung' nào để tìm ra định dạng tệp nào - nó dựa hoàn toàn vào loại mime.