2012-04-06 17 views
23

Ho un problema con questo per un po 'ora, quindi ho pensato di chiedere il tuo aiuto.Come impedire a Chrome di recuperare gli ultimi 128 byte di un file MP3

Per un progetto proof of concept, ho creato un HTML 5 only last.fm player utilizzando jPlayer. Funziona bene con Firefox, ma non gioca con la soluzione html quando si utilizza Chrome (Chromium).

In primo luogo, Chrome tenta di recuperare il file mp3 tramite l'URL del flusso. Dopo aver pre-bufferato un po ', lo sempre tenta di leggere gli ultimi 128 byte facendo un'altra richiesta HTTP. Il problema ora è che i server di streaming last.fm sembrano solo consentire una connessione per file alla volta, il che causa il fallimento di entrambe le connessioni http. Sembra che Chrome/Chromium stia ignorando la proprietà preload = "none" del tag audio. Per quanto ho potuto scoprire il tag è solo una raccomandazione per il browser.

I normali file mp3 funzionano come un fascino. Inoltre, quando si entra nell'URL di streaming reindirizzato nel browser, inizia la riproduzione. Sembra che last.fm utilizzi gli URL originali come tipo di filtro di accesso/controllo accessi one-time, mentre l'URL del flusso risolto è valido per un po '.

Per le intestazioni HTTP complete (cookie censurati), vedere http://pastebin.com/rBAdL4X8. (Copiato da Chromium element inspector).

C'è un modo per aggirare questo problema all'interno del browser?

+0

Non sicuro. Forse la navigazione nel codice di questo progetto ti darà alcune risposte ... http://code.google.com/p/thelastripper/ – MonkeyWrench

+3

Ho trovato [questo bug report] (http://code.google.com/p/ cromo/temi/dettaglio? id = 94.285). Dai un'occhiata – neoascetic

+0

Grazie, @neoascetic :) – user3001

risposta

4

Non sembra esserci una soluzione alternativa, ma dal commento 11 sul bug report indicato da neoascetic, potrebbe essere risolto nella prossima versione di Chrome - M20.

+0

Hm significa che dovrei rilevare se l'utente sta utilizzando un browser Chrome> = M20 dopo che il bug è stato corretto. Brutto ... – user3001

+1

Il bug è corretto ma non funziona ancora – user3001

Problemi correlati