HTML5-Audio beginnt an der falschen Stelle in Firefox

9

Ich versuche eine MP3-Datei abzuspielen und möchte zu einem bestimmten Ort in der Datei springen. In Chrome 33 unter Windows springt die Datei an die richtige Position (im Gegensatz zu VLC, das lokal die MP3-Datei abspielt), aber in Firefox 28 unter Windows zu weit und in Internet Explorer 11 zu weit nach hinten.

Früher funktionierte es in Firefox 27 und früher richtig.

Gibt es einen besseren Weg, dies zu tun?

BEARBEITEN: Das Problem erfordert nicht einmal SoundManager2. Sie können das gleiche Problem nur mit dem <audio> -Tag in Firefox replizieren. Diese beiden Zeilen enthalten den Code, den Sie zum Reproduzieren benötigen:

%Vor%

Versuchen Sie es hier: Ссылка

EDIT: versucht mit Firefox Nightly, keine Verbesserung. Ich habe es als Fehler 994561 in Bugzilla gemeldet. Ich suche noch immer nach einem Workaround.

    
Colin Pickard 07.04.2014, 11:30
quelle

5 Antworten

3

Ich arbeite an SoundJS und stieß bei der Implementierung von Audio-Sprites vor kurzem auf ähnliche Probleme. Laut Spezifikation kann die Position der HTML-Abspielposition um bis zu 300 ms falsch sein. Das könnte einige der Probleme erklären, die Sie sehen.

Interessanterweise spielt Ihre Fiedel in FF 28 auf Sieg 8.1 richtig, wenn ich sie einfach von Anfang an durchspielen lasse.

Es gibt auch einige bekannte Probleme mit der Genauigkeit der Audiolänge, die ebenfalls Auswirkungen haben können. Lesen Sie dazu hier .

Wenn Sie Präzision wünschen, würde ich definitiv Web Audio, wo möglich, oder eine Bibliothek wie SoundJS empfehlen.

Ich hoffe, das hilft.

    
OJay 14.04.2014, 16:07
quelle
5

Das Problem liegt in der VBR Codierung von mp3.

Laden Sie das MP3 auf die Festplatte herunter und konvertieren Sie es in eine feste Bitrate. sag mit Audacity.

Führen Sie das Beispiel von der Festplatte aus:

%Vor%

und es funktioniert gut für mich.

Mein Vorschlag für die Problemumgehung lautet daher, eine alternative Fixed-Bit-MP3-Datei anstelle der von Ihnen verwendeten zu veröffentlichen. Dann sollte es im aktuellen FFx funktionieren.

    
GavinBrelstaff 15.04.2014 11:53
quelle
2

Ich habe das gleiche Problem gefunden und es gelöst, indem ich meine MP3-Datei in das CBR-Format (Constant Bit Rate) konvertiert habe. Dann kann das inkonsistente Problem zwischen dem currentTime und dem echten Sound gelöst werden.

Wählen Sie das CBR-Format

Schritte:

  • Downloaden und installieren Sie "Audacity" (es ist kostenlos für jede Plattform)
  • Öffnen Sie Ihre MP3-Datei
  • Klicken Sie auf [Datei] - & gt; [Exportieren] - & gt; [Optionen] - & gt; [Constant] (Siehe: Konvertieren von MP3 in Constant Bit Bewerten )
  • Audacity wird Sie bitten, den LAME MP3-Encoder bereitzustellen (Siehe: [LAME MP3 Encoder herunterladen und installieren])

Es wird kein inkonsistentes / asynchrones Problem geben.

Siehe auch:

[email protected]

    
蔡宗容 31.07.2017 09:10
quelle
1

Ich habe gerade Ihren Code mit einer anderen Audio-URL versucht hier , es schien zu funktionieren und ich habe keine Verzögerung in Firefox (v29) erlebt, die ich zuvor gemacht habe.

%Vor%

Ich denke, um eine Audiodatei zu überspringen, muss Ihr Server richtig konfiguriert sein.

Der Client sendet Bytebereich Anfragen bestimmte Bereiche einer Datei zu suchen und spielen , so muss der Server angemessen antworten:

  

Um das Suchen und Wiedergeben von Regionen der Medien zu unterstützen   Noch nicht heruntergeladen, verwendet Gecko HTTP 1.1 Byte-Range-Anfragen an   Abrufen des Mediums von der Suchzielposition. Außerdem, wenn Sie   nicht X-Content-Dauer-Header dienen, Gecko nutzt Byte-Range-Anfragen   bis zum Ende der Medien zu suchen (vorausgesetzt, Sie dienen der Inhaltslänge   Header), um die Dauer der Medien zu bestimmen.

Hoffe das hilft .. Sie könnten auch versuchen, in der Suche Web Audio API für Sound-Effekt-ähnliche Wiedergabe, die Ihnen einige Garantien gibt die Wiedergabe verzögert sich.

    
Aditya 12.04.2014 13:24
quelle
0

Nach dem Testen der Geige ist es bemerkbar, dass es ein Problem mit FF gibt. Irgendwann, nach einer Suche, liegt das Problem an "Performance Lag", aber die gute Nachricht ist, dass jemand eine Lösung für dieses Problem gefunden hat Vielleicht möchten Sie dies lesen:

Ссылка

ein einzelnes Skript wird alles lösen.

    
ProllyGeek 09.04.2014 14:44
quelle

Tags und Links