2010-12-15 6 views
3

Ich fand diesen Link zu einer Seite hier auf StackOverflow über "Creating Audio using Javascript in <audio>", und diese Seite auf how to play audio on multiple channels. Ich habe festgestellt, dass das iPhone das Audio-Tag und das Audio-Objekt in Javascript unterstützt, um einkanaliges Audio wiederzugeben, aber gibt es eine Möglichkeit, Audio auf mehreren Kanälen abzuspielen?Multi-Channel-Audio-Unterstützung im Browser auf iOS und Android

Vielleicht bin ich über komplizieren, also ist das, was ich versuche zu tun. Ich möchte eine Möglichkeit, einen anmutigen Audioplayer in Javascript zu erstellen, der den Übergang von einer Audiodatei zu einer anderen unterstützt. Die Art und Weise, wie ich dies implementieren wollte, bestand darin, die Lautstärke auf einem Kanal schrittweise zu reduzieren, während ich die Lautstärke auf dem anderen Kanal schrittweise erhöhte, so dass ich eine Art Überblendeffekt bekam. Gibt es eine einfachere Lösung dafür, nur Javascript zu verwenden? Ich denke, eine andere Lösung wäre, die Lautstärke auf einen bestimmten Punkt zu reduzieren, die neue Audiodatei auf demselben Kanal zu starten und dann die Lautstärke wieder zu erhöhen. Dies vermeidet die Notwendigkeit des Verblassens, aber ich möchte, wenn überhaupt möglich, verblassen.

Ist das möglich? Ich weiß, dass die HTML5-Spezifikation noch nicht fertig ist, aber gibt es eine Art Workaround, die Sie kennen? Hat jemand von euch Ideen für einen anderen Ansatz?

Von dem, was ich von diesem Beitrag über playing audio in the Android browser erzählen kann, wird dies noch nicht unterstützt, aber weiß jemand von Ihnen, ob es mehrere Kanal Audio unterstützt, sobald das Audio-Tag unterstützt wird? Unterstützt Opera Mini dies?

+0

Es war ein paar Tage und niemand hat kommentiert. Die Seite, auf die ich verwiesen habe, spielt Mehrkanal-Audio auf den meisten HTML5-kompatiblen Browsern ab (Opera, Firefox 3.6, Firefox 4 [irgendwie, ein kleiner Buggy], Safari und Chrome). Es funktioniert nicht in IE9 (oder zumindest die Version, die ich habe), aber das überrascht mich nicht. – tjameson

+0

Mein Freund sagte mir, dass in der nächsten Version von Android dies behoben werden sollte. Ich schaute mich um, und laut einigen Foren funktioniert das Audio-Tag in der neuen Android-Version (Lebkuchen). Weiß jemand, ob es Mehrkanalaudio unterstützt? – tjameson

+0

Android 2.4 kommt diesen Monat heraus.Ich überprüfe, ob das funktioniert, wenn es rauskommt. – tjameson

Antwort

3

Das ist eine alte Frage, die ich kenne :).

iOS Safari unterstützt nicht die gleichzeitige Wiedergabe mehrerer Audioobjekte. Es ist auch nicht möglich, einen Ein-/Ausblendeffekt für iOS zu haben, da die Lautstärke nur von der Hardware selbst geändert werden kann. Apple entschied, diese Fähigkeit nur dem Gerätebenutzer zu geben. Lautstärkeeinstellung ist nicht durch Javascript schreibbar. Es ist nicht einmal lesbar (gibt immer 1 zurück).

Sie können die Safari documentation for iOS für weitere Informationen überprüfen.

Für Android, um ehrlich zu sein habe ich keine Ahnung.

+0

+1 Nützliche Informationen! Bedeutet das, dass es nur ein globales Volumen gibt? (kein Pro-App-Volumen) – tjameson

+0

Wenn Sie eine webbasierte App entwickeln, gibt es nur eine globale Lautstärke und einen Audiokanal. Für Objective-C-basierte native Apps unterscheidet es sich nicht so sehr wie jedes andere Betriebssystem. AVAudioPlayer kann für mehrere Kanäle verwendet werden und verfügt auch über eine Lautstärkeeinstellung. Aber es hängt immer noch vom globalen Audio ab. Wenn der Benutzer das Audio senkt oder stummschaltet, können Sie nichts ändern. – emrahgunduz

0

Es gibt keinen direkten Weg, den ich kenne, um mehrere Kanäle auf einem Audio-Tag zu haben, aber schauen Sie sich diesen Blog-Beitrag zur Verwendung mehrerer Audio-Tags an, um mehrere Kanäle zu simulieren. http://www.storiesinflight.com/html5/audio.html

+0

Das ist eigentlich der gleiche Link, den ich gepostet habe, aber ich denke, das könnte bedeuten, dass es die einzigen wertvollen Daten gibt ... – tjameson

0

Ich weiß, das insgesamt Hack ist, sondern versuchen, diesen Trick kam ich mit ...

Gehen Sie auf die Seite unten und geben Sie auf die Tasten zu Hause Reihe am selben mehrere Schlüssel ein Blues-Riff (Art zu spielen Zeit usw.)

http://davealger.com/jthump/

die Art und Weise dies funktioniert, ist unsichtbar Komponenten zu schaffen, die vor der Zerstörung der Rahmen einen Ton spielen.

Ich weiß, es ist ein totaler Hack und ich freue mich auf bessere HTML 5 Multi-Channel-Audio-Unterstützung in der Zukunft.

Verwandte Themen