2010-10-06 6 views

Répondre

0

La version actuelle de Safari mobile (iOS 5.0.1) a un support audio HTML5 médiocre. La méthode de lecture d'un objet Audio fonctionnera de manière sporadique, mais seulement à la suite d'un clic direct de l'utilisateur et il ne préchargera pas (attendez un délai aléatoire lors de la première lecture.) Cela rend impossible l'utilisation de l'audio dans vos applications web iPhone .

1

Peut-être que vous pourriez utiliser un événement JS, envoyer un événement à votre délégué UIWebView puis jouer un son avec en objectif-c?

meilleure solution que je pense ^^

Pour une solution en HTML5 Je ne sais pas. Vous pouvez jeter un oeil à Sound effects in JavaScript/HTML5

Mais je ne suis pas sûr que cette solution fonctionne sur tous les appareils. Cela dépend si vous avez besoin de jouer le son "souvent" ou non.

+0

Le lien inclus peut être ce que vous recherchez. –

0

Si vous remarquez des problèmes dans Chrome, il semble que cela fonctionne dans d'autres navigateurs principaux.

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(); 

Évidemment, vous devrez fournir votre propre wav, ogg ou mp3 pour essayer vous-même. Le contrôle pour qu'il soit en pause est là, donc si la condition est remplie, il sera réinitialisé avant de le jouer à nouveau.

Si vous souhaitez sauter le tag audio tout à fait vous pouvez aller avec ceci:

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

Il y a des avantages et des inconvénients mineurs aux deux approches, mais si vous êtes besoins sont simples avant alors soit devrait suffire.

Questions connexes