2012-04-18 6 views
5

Problema: Ho problemi con la modifica della proprietà disattivata su un tag audio html5.HTMLAudioElement non disattiva correttamente l'audio in Safari su iPod Touch (5.0.1)

Piattaforma: Solo su iPod Touch (Safari) [iOS 5.0.1]. Funziona bene in Chrome.

// This code resides in my click binding. 
var audios = document.getElementsByTagName('audio')[0]; 
console.log(audios.muted); // returns false by default 
if(audios.muted == true){ 
    audios.muted = false; 
} 
else{ 
    audios.muted = true; 
} 

In Chrome, il console.log alternerà vero/falso, tuttavia sull'iPod, che rimarrà sempre falso.

+0

Ho appena guardato i documenti e ha scoperto che sul desktop è possibile impostare la proprietà del volume, tuttavia, sul cellulare si dice "Sui dispositivi iOS, il livello audio è sempre sotto controllo fisico dell'utente. La struttura del volume non è impostabile in JavaScript, la lettura della proprietà del volume restituisce sempre 1. ". Questo non ha senso per me il motivo per cui non è possibile disattivare o regolare il volume di un elemento audio. – Fostah

+0

Potrebbe essere possibile risolvere il problema utilizzando l'API audio. Non sono esperto delle capacità e dei limiti completi, ma sono riuscito a mettere insieme un po 'di codice che riproduceva un tono semplice e quindi JS poteva essere usato per cambiare il volume o più specificamente il "guadagno". L'interazione dell'utente era necessaria per creare il tono e iniziare a suonare, ma in seguito ho avuto il pieno controllo del livello audio, lasciandolo usare come avviso audio molto semplice per determinati eventi. –

risposta

0

Secondo il docs:

su dispositivi iOS, il livello audio è sempre sotto controllo fisico dell'utente. La proprietà del volume non è impostabile in JavaScript. La lettura della proprietà del volume restituisce sempre 1.

Sembra che sia necessario utilizzare l'interruttore hardware. Sembra che su un iPhone l'interruttore del volume non influenzi il volume di Safaris (il valore predefinito è il volume della suoneria, a meno che non suoni un suono, quindi puoi regolare il volume Safaris), mentre, sull'iPod, l'interruttore del volume lo fa.

Speriamo che questo aiuti qualcun altro.

+0

Basta colpire questo stesso problema: qualcuno ha suggerimenti su come far interrompere l'audio o fermarsi o qualcosa del genere? – mattelliottIT

+1

La mia correzione per questo è di attivare la riproduzione/pausa sul pulsante muto clic su dispositivi mobili. Lo so, non dovremmo annusarlo, ma a volte è l'unica soluzione. F ** king iOS ... haha – mattelliottIT

Problemi correlati