2010-02-14 23 views
12

Estoy trabajando en un reproductor de audio html5 y todo funciona bien cuando servidor el archivo .ogg desde el mismo host que la página html. Cuando pongo el archivo ogg en mi cdn se produce un error y el código de error se MEDIA_ERR_SRC_NOT_SUPPORTEDMEDIA_ERR_SRC_NOT_SUPPORTED html5 audio woes

Por ejemplo, esto funciona bien

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

Pero esto no funciona con el código de error anterior

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

El los encabezados para el archivo de audio que falla se ven algo como esto (esto es de un archivo ogg diferente que exhibe el mismo comportamiento)

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

No se me ocurrió una idea que explique esto (puede ver las posibles razones enumeradas en http://www.whatwg.org/specs/web-apps/current-work/multipage/video.html). Sería más fácil si establecieras qué versión de qué navegador usas, enumeró los encabezados o, mejor aún, si el archivo de prueba contiene URL reales. – Nickolay

+0

detalles y ejemplos añadidos – jshen

Respuesta

7

El Content-Type = octet/stream header es el problema, aunque si estoy leyendo la especificación correctamente, no debería ser. Aquí hay un caso de prueba: http://mozilla.doslash.org/stuff/video-test/video.html

I filed a bug en bugzilla de Mozilla sobre esto. [Editar] la respuesta:

Nosotros no hacemos ningún contenido oler a trabajar en lo que el contenido es - nos basamos en estando provisto el tipo MIME correcto. Esta es la razón por la cual application/octet-stream no se reproduce en y devolvemos "" para canPlayType.

+1

gracias, creo que necesitaba dormir cuando publiqué esto. Podría haber jurado que miré el Content-Type del que funcionaba y que era application/octet-stream. Mirándolo ahora es su aplicación/ogg – jshen

1

El problema es el tipo de mime con el que está sirviendo el archivo de audio. Tiene que ser 'audio/ogg', 'application/ogg' o 'video/ogg' para que Firefox lo reproduzca. Firefox no hace ningún tipo de 'sniffing de contenido' para averiguar en qué formato se encuentra el archivo; depende completamente del tipo de mimo.