2011-01-05 12 views
0

Ich habe gesehen, dass einige Websites sprechende Charaktere (sehr menschlich aussehende Avatare) anbieten, aber ich möchte kein RIESIGES Geld dafür bezahlen. Also begann ich über einige der Cartoons nachzudenken, die ich mir angesehen hatte und wenn es einen sprechenden Computer gab, war ihre Art, Sprache visuell darzustellen, mit einem Equalizer. Für den "Roboter" hätte ich nur zwei Punkte für die Augen, eine Nase und einen "Mund", aber dieser Mund wäre wirklich ein Equalizer, und ich könnte das mit Blitz so animieren, dass wenn es ist lauter Ton, der Mund würde sich breiter öffnen als bei einem weichen Klang (wenn Sie einen Equalizer sehen, gehen die Balken hoch und werden rot, wenn die Musik laut ist.)Ich versuche einen "Roboter" auf meiner Website zum Reden zu bringen. Der Mund muss mit Ton synchronisieren und ich denke .... Blitz?

Die einzige Web-Technologie, die ich mir vorstellen kann, ist Flash, aber ich weiß sehr wenig Flash. Ich habe gesucht und gesucht und gesucht und alle Equalizer-Tutorials, die ich gefunden habe, sind nur Balken mit zufälligen Bewegungen, die nicht mit dem Audio synchronisiert werden. Kann ich Audio und Flash synchronisieren, um einen Equalizer zu erstellen?

+0

Das größte Problem * immer Ton in * (I durch ein Mikrofon am Vermutung korrigieren Sie bitte, ob falsch?) - Flash oder Silverlight (mindestens 4) beide tun dies (mit Benutzerberechtigung). Nachdem ein Audiostream aufgenommen wurde, ist es nur ein einfacher Ursache-> Effekt. (Ein unterschriebenes Applet könnte auch, aber ich würde diese Route um jeden Preis vermeiden.) –

+0

Hallo. danke für die Antwort. Ich habe Erfahrung mit ein paar Flash-Apps, und in denen konnte ich eine XML-Datei (wie für eine Foto-Diashow) übergeben, so dass die Flash-App (die Diashow) dynamisch war. Ich würde gerne so etwas machen, nur würde ich eine MP3-Datei einreichen. Ich möchte, dass die Flash-App (die im Wesentlichen nur eine Linie ist, die sich bewegt) dynamisch auf das MP3 reagiert. Vielen Dank! – CFD

Antwort

0

Um das Klangspektrum zu erhalten, benutze SoundMixer.computeSpectrum(), dies füllt ein mitgeliefertes Array mit 512 Werten (256 für jeden Kanal, links & rechts), von -1 bis 1. Ich benutze dies um das Kleine zu zeichnen Balken um zu zeigen, dass Sound gesendet wird. Ich erstelle einen Timer, so dass es ein paar Mal pro Sekunde aufgerufen wird und für einen tollen Effekt sorgt.

Um das zu bekommen, was Sie wirklich wollen, können Sie eine 512 px horizontale Linie zeichnen, wobei jeder px ein Wert aus dem Array ist, dann vertikal skalieren, wie groß die Flash App aussehen soll (zB multiplizieren Sie den Wert mit 100) um einen 200px hohen Film zu bekommen).

Hier ist ein Beispiel, das ich http://lakehousemusic.net/player/index.html?num=3 vor ein paar Jahren ist

+0

wow Chris, das ist wirklich nett! Und sehr schlau! Vielen Dank dafür! – CFD