2010-04-05 7 views
8

Ich versuche, eine HTML5 Webapp, die einfach immer wieder einen Sound auf meinem iPhone spielt. Ich kenne keinen Obj-C, um es nativ zu machen.Looping HTML5-Audio auf dem iPhone

Was ich habe, funktioniert gut, aber der Sound nur einmal spielt:

<!DOCTYPE html> 
<html> 
    <head> 
     <title>noisemaker!</title> 
     <meta http-equiv="content-type" content="text/html; charset=utf-8" /> 
     <meta name="viewport" content="maximum-scale=1, minimum-scale=1, width=device-width, user-scalable=no" /> 
     <meta name="apple-mobile-web-app-capable" content="yes" /> 
    </head> 
    <body> 
     <audio src="noise.mp3" autoplay controls loop></audio> 
    </body> 
</html> 

ein Weg Gibt es entweder umgehen den Quicktime-Audio-Bildschirm und Schleife es in der Webseite oder den Quicktime-Audio-Bildschirm erhalten Schleife der Klang?

Antwort

11

Ich fand, dass das Attribut "loop" in der neuesten Implementierung des HTML5-Audioelements auf dem iPhone (iOS 4.0) nicht vollständig zu funktionieren scheint. Ich fand dies eine Krücke, um:

<audio src="noise.mp3" onended="this.play();" controls="controls" autobuffer></audio> 

Ich fand, dass Sie nicht put „Schleife“ in dem oben haben, oder die „onended“ Ereignis scheint nicht zu auslösen (dh „Schleife“ wird teilweise umgesetzt).

Beachten Sie, dass "Autoplay" absichtlich auf dem iPhone deaktiviert ist.

Es scheint auch, dass das "Volumen" Attribut zu diesem Zeitpunkt nicht vollständig implementiert ist.

Beachten Sie, dass mit iOS 4 Audio ohne den Vollbild-QT-Player abgespielt wird.

+0

+1 Das hat sehr gut funktioniert. Vielen Dank! – FCTW

0

Sie können es mit einem altmodischen Embed-Tag machen, aber ich habe keine Ahnung, ob Mobile Safari sein Loop-Attribut berücksichtigt.

+0

Mobile Safari scheint das Schleifenattribut nicht zu berücksichtigen. – ZeroUptime

1

Haben Sie versucht, Schlüssel/Wert-Paare für die Attribute zu verwenden. Ich weiß, dass Sie in der Lage sein sollten, nur den Attr anzugeben, aber nur um den Anwalt des Teufels zu spielen. Versuchen:

<audio src="noise.mp3" autoplay="autoplay" controls="controls" loop="loop"></audio> 
+0

Ich habe das gleiche Problem und die Verwendung der Schlüssel Wertpaare von loop = "loop" funktioniert nicht für mich. –

1

Was:

<audio src="noise.mp3" autoplay="" controls="" onended="this.play()"></audio> 
1

iPhone OS 3.0 unterstützen nicht den < audio> Tag vollständig - das alles mit ihm machen wird, ist es vollständig im Stil Quicktime spielen.

-1

Das Abspielen von Medien wie Video oder Sounds ist (bisher) nicht erlaubt. Wenn Sie Video oder Audio abspielen möchten, öffnet das iPhone dieses in einem externen (Standard) Player. Wenn der Player geöffnet ist, haben Sie keine Kontrolle über die Webseite, bis der Benutzer den externen Player herunterfährt oder das Video/der Ton von selbst gestoppt wurde.