2010-02-14 15 views
12

sto lavorando su un lettore HTML5 audio e tutto funziona bene quando il server che il file .ogg dallo stesso host come pagina html. Quando ho messo il file ogg nel mio cdn non riesce e il codice di errore è MEDIA_ERR_SRC_NOT_SUPPORTEDMEDIA_ERR_SRC_NOT_SUPPORTED HTML5 guai audio

Ad esempio, questo funziona bene

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

Ma questo non riesce con il codice di errore di cui sopra

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

Il le intestazioni per il file audio che non riesce hanno un aspetto simile a questo (si tratta di un diverso file ogg che presenta lo stesso comportamento)

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

Io non poteva venire con l'idea che spiega questo (potete vedere le possibili ragioni elencate in http://www.whatwg.org/specs/web-apps/current-work/multipage/video.html). Sarebbe più semplice se tu affermassi quale versione di quale browser utilizzi, elencassi le intestazioni o, meglio ancora, fornissi la prova con URL reali. – Nickolay

+0

dettagli ed esempi aggiunti – jshen

risposta

7

Il Content-Type header = ottetto/stream è il problema, anche se sto leggendo le specifiche correttamente, non dovrebbe essere. Ecco un test: http://mozilla.doslash.org/stuff/video-test/video.html

I filed a bug nel bugzilla di Mozilla su questo. [Modifica] la risposta:

Non facciamo alcun contenuto sniffing di capire qual è il contenuto - ci affidiamo il tipo MIME corretto fornite. Questo è il motivo per cui application/octet-stream fa non giocano e modo di tornare "" per canPlayType.

+1

grazie, penso di essere stato bisogno di dormire quando ho postato questo. Avrei giurato di aver visto il Content-Type di quello che funzionava e che era application/octet-stream. Guardandolo ora è application/ogg – jshen

1

Il problema è il tipo mime con cui si sta servendo il file audio. Deve essere 'audio/ogg', 'application/ogg' o 'video/ogg' per Firefox per riprodurlo. Firefox non fa alcuna forma di 'sniffing' contenuti di capire cosa formattare il file è in - si basa interamente sul tipo MIME.