2011-12-31 24 views
6

Non riesco a ottenere il corretto funzionamento dell'elemento audio in Safari (v 5.1.2). Ho provato a spostare il file nella stessa cartella della pagina, usando sia i tipi MIME mp3 che mpeg e cambiando i nomi dei file. Sembra funzionare bene in tutti gli altri browser, ma in Safari l'elemento audio viene creato, ma mostra solo che si sta caricando e non verrà riprodotto. Qualche idea?L'elemento audio non funziona correttamente con Safari

<audio controls preload="metadata"> 
    <source src="audio/song.mp3" type="audio/mpeg" /> 
    <source src="audio/song.ogg" type="audio/ogg" /> 
</audio> 

Grazie

+0

Se i file si trovano nella stessa directory, provare a rimuovere 'audio /' da 'src'. Questa pagina funziona per te in Safari? http://www.w3schools.com/html5/tryit.asp?filename=tryhtml5_audio_all – keyboardP

+1

Sono in una directory separata. Sembra essere un problema del server. Ho provato a servire la pagina da un server localhost e ha funzionato bene. Il nostro server remoto non sembra voler servire il file audio al browser web Safari (tutti gli altri browser funzionano bene). – bgmaster

risposta

0

provare a installare mela quick time. Non conosco le versioni desktop, ma le versioni IOS utilizzano quicktime per riprodurre suoni da safari.

2

Safari non sembra caricare i suoni in modo affidabile con preload="metadata".

si può provare questo nella console, di qualsiasi pagina web in realtà:

var snd = document.createElement('audio'), src = document.createElement('source'); 
src.src = "http://www.largesound.com/ashborytour/sound/brobob.mp3"; 
src.type = "audio/mpeg"; 
snd.appendChild(src); 
snd.preload = 'metadata'; 
snd.play(); 

Non funziona. Quindi:

snd.preload = null; // equivalent to 'auto' 

E voilà! Inizia a giocare.

(ho depositato questo come rdar: // problema/11.481.585, non quella che aiuta ciascuno di noi.)

8

Il tuo sito web utilizza un certificato HTTPS valido o un HTTP Auth? Ho riscontrato questo problema ma ho riscontrato che Safari stava riscontrando problemi con il mio certificato HTTPS non valido o con l'autenticazione di base (sul server di staging).

+0

Questo commento mi ha davvero aiutato, grazie mille. –

+0

Grande. Ho usato HTTP Auth e trascorro 2 ore fino a quando ho trovato il tuo consiglio. Grazie. –

0

sì, un certificato HTTPS non valido o un'autenticazione HTTP non funziona su Safari (testato su browser safari personalizzato su dispositivo Linux di fascia bassa). Per farlo funzionare, si prega di utilizzare un certificato https valido.

Problemi correlati