it-swarm.com.de

Wie spielt man einen Ton (zB eine Sinuswelle) mit einer beliebigen Tonhöhe / Frequenz?

Ich möchte aus einer Webseite einen einzelnen Dauerton (z. B. eine Sinuswelle) erzeugen, mit der Möglichkeit, Folgendes interaktiv zu steuern:

  • ton starten/stoppen
  • tonhöhe ändern
  • lautstärke ändern

Ich bin auf der Suche nach einer Lösung, die mit ziemlicher Wahrscheinlichkeit auf einer Vielzahl von Hardware, Browsern und Verbindungen funktioniert. etwas so einfaches und bandbreitenarmes wie möglich.

Die einzige Methode, die auf der Hardware, auf die ich Zugriff habe, zuverlässig zu funktionieren scheint, ist Flash, aber ich möchte wirklich eine proprietäre Lösung vermeiden und etwas mit Open-Source-Software erstellen, die offenen Standards entspricht.

Ist das möglich?

Wenn das so ist, wie?

2
Ian Mackinnon

Sie können versuchen, das <audio> -Tag zu verwenden und es mit dem onended -Attribut zu schleifen. Ich bin mir nicht sicher, ob diese Lösung plattformübergreifend kompatibel ist, aber sie muss besser sein als Flash, das auf dem iPad, iPhone oder vielen anderen Mobilgeräten nicht funktioniert.

Dann benötigen Sie nur ein serverseitiges Skript, um kleine Audioclips einer bestimmten Frequenz zu generieren. Das heißt Sie würden das src des audio -Tags auf Folgendes verweisen:

/generate_tone?freq={the frequency you want}
2
Lèse majesté

Java ist eine Alternative. Es gibt eine Entwicklungsumgebung namens Processing , die erstellt wurde, um Java zu abstrahieren und es Künstlern und normalen Leuten zu erleichtern, Grafiken und Multimedia zu programmieren.

Sie können Programme als Applets (oder plattformübergreifende Anwendungen) ausgeben.

Wenn es in Ordnung ist, ein Applet auf Ihrer Website zu haben, ist dies ein guter Weg.

Hier ist ihr Beispiel für die Erzeugung eines Sinus-Tons unter Verwendung einer Audiobibliothek.

0
milesmeow