Frage

Ich versuche, eine Gitarre Praxis-Website zu machen, und eine kritische Funktionalität, ist eine Schleife über sehr kurze MP3-Dateien (ein paar Sekunden lang), mit absolut null Lücke dazwischen. Zum Beispiel könnte es sich um ein 4-Maßnahmen langen Akkordfolge, und ich möchte den Benutzer Schleife über es ermöglichen, nahtlos.

Ich habe versucht, den HTML5 <audio>-Tag mit dem loop Attribute. Google Chrome gibt eine kleine Lücke zwischen den Schlingen, aber groß genug, um völlig inakzeptabel für meine Zwecke. Ich habe nicht die anderen Browser getestet, aber ich glaube, es wird nicht funktionieren.

Eine mögliche Abhilfe ist ffmpeg zu Stromwiederholungen das gleiche Audio als MP3-Format zu verwenden. Allerdings ist dies kostet viel Bandbreite.

Für mich verwende ich Audacity lückenlos Schleife, aber leider Audacity nicht über eine Web-Version.

Also, haben Sie irgendwelche Ideen, wie ich kann Schleife über einen MP3 in einem Browser mit Nullücke? Ich ziehe nicht-Flash-Lösungen, aber wenn es nicht anders geht werde ich Blitz verwenden.

Edit: Vielen Dank für Ihre Anregungen. Blitz schaltet sich anständig zu trainieren. Ich habe ein Spielzeug Demo gemacht unter http://vmlucid.lcm.hk/~netvope /audio/flash.html . Zu meiner Überraschung (ich benutze Blitz mit Ressourcenfresser und Browser zu verknüpfen stürzen nur), Flash und Actionscript sind ziemlich gut gestaltet und einfach zu bedienen. Es dauerte nur 3 Stunden an meinem ersten Flash-Projekt:)

War es hilfreich?

Lösung

in Flash AS3 können Sie Tondaten mit compute () und geben sie es genau auf Ihre Sound-Objekt, wenn es gebraucht wird ( Sample gebrannt).

Andere Tipps

Hier finden Sie aktuelle dieser Seite . Zuhören für eine Weile mit Google Chrome 7, fand ich Methode 1 funktioniert anständig, während Methode 3 die besten Ergebnisse liefert, obwohl es ein bisschen wie ein Hack ist. Letztlich arbeiten alle Browser anders, vor allem, da HTML5 noch nicht abgeschlossen ist. Wenn möglich, sollten Sie für eine Flash-Version entscheiden, was ich denke, würde würde Ihnen die beste Schleife.

Ich bin nicht sicher, wie gut das funktioniert, aber wenn Sie Ihre Schleife wissen 800 Millisekunden gedauert - man könnte den Browser Aufruf die play-Methode hat alle 800ms ... es wäre immer noch nicht perfekt sein, wenn gewährleistet werden. Ich glaube nicht, den Browser zu liefern zuverlässige Audio-Looping an dieser Stelle nativ kann.

setInterval(function(){
  document.getElementById("loop").play();
}, 800);

Es wird gemunkelt, der beste Weg, um diese aus der die meisten lückenlos zwischen ihnen zu verwenden, um mehrere Audio-Tags und Alternative zu ziehen.

Check-out oder Dienstprogramm: http://www.compuphase.com/mp3/mp3loops. htm ich benutzte es erfolgreich für meine Flash-Projekte, wenn die Musik ohne Lücken durchgeschleift werden musste, und 99% der Zeit, es hat funktioniert. Es dauert WAV als eine Eingabe.
Im Grunde ist es eine Art von Front-End für LAME MP3-Encoder, die solche Einstellungen verwendet, wie die Lücken zu verhindern erscheinen. Es wird nicht auf sehr kurzen Soundeffekten arbeiten (weniger als 0,5 Sekunden glaube ich).
Danach alles, was Sie tun müssen, ist die Verwendung:

var sound:Sound = new MySoundEffect();
sound.play(0, 1000);

und es wird Schleife tausendmal.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top