2008-09-17 13 views
1

Ich habe 6 Sound-Dateien (1.wav 2.wav etc ..) von denen 3 verschiedene müssen jedes Mal gehört werden, wenn die Webseite öffnet. Die Nummern sind zufällig ausgewählt. Ich habe mehrere "Embeds" ausprobiert, aber nur der letzte ausgewählte Sound wird erzeugt. Ich habe auch Javascript-Routinen versucht, die das bgsound-Attribut fiddle, jedoch konnte ich nicht mehr als einen Ton zu einer Zeit produzieren. Die Sounds müssen entweder automatisch bei geöffneter Seite abgespielt werden oder sie können durch einen Klick auf eine Schaltfläche oder einen Link ausgelöst werden, jedoch ist nur ein Klick für die drei Sounds akzeptabel. Gibt es einen anderen Weg, dies zu tun? Vorschläge sehr willkommen.produziert 2 oder mehr kurze Töne, wenn eine Webseite lädt

Antwort

2

Ich würde Flash verwenden, wenn ich versuche, Ton in eine Webseite einzufügen, können Sie ein Flash-Dokument ohne Breite oder Höhe einbetten, so dass es unsichtbar sein wird, aber immer noch Lärm zu spielen.

+0

Wie können Sie, mit Flash tun, was ich brauche. Kann ich 3 separate Sounds kombinieren, um nacheinander gespielt zu werden? – user15588

1

Ich habe eine gute Idee: NICHT!

Ich hasse Websites, die Sounds abspielen, ohne dass ich es ihnen sage. Ich benutze einen Multi-Tab-Browser und ein Multitasking-Betriebssystem, und du hast keine Kontrolle über meinen Computer, also gehe nicht davon aus, dass du einen Ton abspielen kannst, ohne andere Dinge zu stören, die ich mache.

+1

Dies ist eine ernsthafte Anwendung für Audio-sensorisches Training. Dein Kommentar ist eher abstoßend. – user15588

+0

Websites, die Sounds abspielen, sind auch ziemlich abartig. Vielleicht möchten Sie in Ihrer Frage feststellen, dass das Abspielen von Sounds ein wichtiger Aspekt der Funktionalität Ihrer Anwendung ist. Die meisten Sounds im Internet sind einfach nervig. –

+1

Er fragte "wie" nicht "sollte ich". – James

0

Ein Browser wird das Laden der Seite in mehrere Elemente aufteilen und es ist daher wahrscheinlich, dass alle Sounds gleichzeitig mit mehreren Threads geladen werden. Ich denke, was du zu erreichen versuchst, ist unmöglich.

6

Ein einfacher Flash wäre besser als alles andere. Bitte beachten Sie jedoch, dass, wenn Sie Ihre Seite für die Intranet-Anwendung entwickeln und die Funktion speziell von den Benutzern angefordert wurde, wird es wahrscheinlich gegen die besten Usability-Praktiken für das Web gehen. Die meisten Benutzer betrachten die Seiten, die Klänge erzeugen, als sehr störend und wenn der Ton bei der Seitenladung erzeugt wird, ist es am wahrscheinlichsten, dass er nicht ausgeschaltet werden kann. Wenn Sie Sound in Ihre Seite einbetten möchten, können Sie dem Benutzer erlauben, ihn explizit einzuschalten.

+0

Wie können Sie, mit Flash tun, was ich brauche. Kann ich 3 separate Sounds kombinieren, um nacheinander gespielt zu werden? – user15588

+0

Natürlich. Die Verwendung von Flash zum Abspielen von Sounds ist wirklich einfach. Die Auswahl eines zufälligen ist ebenfalls einfach. –

0

Ich weiß, das ist ein bisschen exorbitant, aber die Anzahl der Kombinationen sind nicht übermäßig hoch. Wenn Sie die WAV-Dateien in eine Reihe von Dateien im Voraus mischen und sie nur nennen wie folgt

1_2_3, 1_2_3, 1_2_5, 1_2_6 
1_3_4, 1_3_5, 1_3_6 
1_4_5, 1_4_6 
2_3_4, 2_3_5, 2_3_6, 
2_4_5, 2_4_6, 
2_5_6 
3_4_5, 3_4_6, 
3_5_6, 
4_5_6 

(zum Glück nicht zu viele Kombinationen)

und dann so lange, wie Sie das tun:

$n = [ randomnumber , randomnumber , randomnumber ]; 
    $n = sort $n; 
    file = "$n[0]_$n[1]_$n[2].wav" 

das sollte es funktionieren.

Viele Leute sind gegen Sound und je nachdem, welche Technik Sie verwenden, kann es/vielleicht nicht für alle funktionieren, aber das ist wahrscheinlich ein Feature, das wir Browsern erzwingen sollten, weil einige Leute gerne hören können klingt (schockierend, aber wahr).

+0

Auf Ihrem Modell nimmt nur ansteigende Zahlen an, so dass alle Sequenzen 6 * 5 * 4 Kombinationen haben, was = 120. Mein Modell erlaubt auch Duplikate, also würde es 6 * 6 * 6 = 216 Kombinationen geben. Das ist einfach zu ungeschickt, aber es ist die einzige praktikable Lösung, die ich bisher gehört habe. – user15588

1

Wenn Sie nicht dagegen sind, ein JavaScript-Framework zu verwenden, um einen Sound zu spielen, bietet scriptaculous eine API zum Abspielen von Sounds.

http://github.com/madrobby/scriptaculous/wikis/sound

+0

Ihre Lösung zeigt, wie man einen Sound spielt und stoppt, es zeigt nicht, wie 2 oder mehr Sounds nacheinander abgespielt werden. – user15588

2

Check out Sound Manager 2 ein unsichtbarer Flash-Film, die Sie verwenden können Sounds zu spielen. Sie können mehrere Sounds laden und abspielen.

Um zu tun, was Sie erreichen möchten, würde ich die WAV-Dateien als mp3s neu codieren (so dass sie schneller herunterladen und Sound Manager sie abspielen kann). Dann benutze Javascript, um den Soundmanager dazu zu bringen, die Sounds zu erstellen und sie in zufälliger Reihenfolge abzuspielen. Sie können das Onfinish-Ereignis jedes Sounds anhören, um mit dem nächsten Sound zu beginnen.

Verwandte Themen