2010-10-06 14 views

risposta

0

L'attuale versione di Mobile Safari (iOS 5.0.1) presenta un supporto audio HTML5 scadente. Il metodo di riproduzione di un oggetto Audio funzionerà sporadicamente, ma solo come risultato del clic dell'utente diretto e non verrà precaricato (si prevede un ritardo casuale alla prima riproduzione). In questo momento non è pratico utilizzare l'audio nelle applicazioni Web dell'iPhone. .

1

forse si potrebbe utilizzare un evento di JS, inviare un evento al delegato UIWebView e poi riprodurre un suono con in obiettivo-c?

migliore soluzione penso ^^

Per una soluzione in HTML5 non ne ho idea. Puoi dare un'occhiata a Sound effects in JavaScript/HTML5

Ma non sono sicuro che questa soluzione possa funzionare su tutti i dispositivi. Dipende se hai bisogno di suonare il suono "spesso" o meno.

+0

Il link incluso potrebbe essere quello che stai cercando. –

0

Se si notano alcuni problemi in Chrome, ma in caso contrario sembra funzionare in altri principali browser.

HTML:

<audio id="sound_example" title="Sample" autobuffer> 
    <source src="sample1.wav" type="audio/x-wav"> 
    <source src="sample2.ogg" type="application/ogg"> 
    <source src="sample3.mp3" type="audio/mpeg"> 
</audio> 

Javascript:

var playThis = document.getElementById("sound_example"); 
if (!playThis.paused) { 
    playThis.pause(); 
    playThis.currentTime = 0.0; 
} 
tmpAudio.play(); 

Ovviamente avrete bisogno di fornire il proprio wav, ogg, o mp3 di provare da soli. Il controllo per essere messo in pausa è lì quindi, se la condizione è soddisfatta, verrà ripristinata prima di riprodurla di nuovo.

Se vuoi saltare l'audio tag tutto si può andare con questo:

var sound_example = new Audio("sample3.mp3"); 
sound_example.play(); 

Ci sono alcuni pro minori e contro per entrambi gli approcci, ma se siete bisogni sono straight-forward allora dovrebbe essere sufficiente.

Problemi correlati