Wir haben einen AS3-Player, der Flash 10 (um alte Probleme mit 9 und Wiedergabe Offsets zu überwinden) benötigt, um Clipping von Audio zu behandeln. Wenn ich Start- und Endpunkte für die Wiedergabe wähle, stimmt die Wiedergabe oft nicht mit dem Clip überein, der in Audacity abgespielt wird. Hier sind einige Details zu meinem Test mp3 (Ergebnisse von ffmpeg).Actionscript Tonwiedergabe Genauigkeit in Flash 10
libavutil 49.10. 0/49.10. 0
libavcodec 52. 0. 0/52. 0. 0
libavformat 52.22. 1/52.22. 1
libavdevice 52. 1. 0/52. 1. 0
libswscale 0. 6. 1/0. 6. 1
libpostproc 51. 2. 0/51. 2. 0
built on Sep 24 2008 15:49:57, gcc: 4.2.4 (TDM-1 for MinGW)
Input #0, mp3, from 'reagan_challenger.mp3':
Duration: 00:00:14.62, start: 0.000000, bitrate: 127 kb/s
Stream #0.0: Audio: mp3, 44100 Hz, stereo, s16, 128 kb/s
ursprüngliche URL: http://ericmalone.net/test_media/reagan_challenger.mp3
Abgeschnittene url: http://ericmalone.net/test_media/reagan_clipped.wav
Clip auf dem Backend erstellt wurde ffmpeg mit dem Clip von 4017ms zu bekommen - 7400ms:
ffmpeg -i reagan_challenger.mp3 -ss 4.017 -t 3.383 reagan_clipped.wav
Ich habe auch abgeschnitten die Datei mit Audacity zu den etwas weniger genauen Positionen 4.017676 Sekunden - 7.401333 Sekunden bei http://ericmalone.net/test_media/reagan_challenger_from_audacity.wav
Hier ist der begrenzten Abschnitt über den Code der Wiedergabe angezeigt unten http://ericmalone.net/test_media/SoundExample.swf
Beachten Sie, dass das Wort Herausforderer schließt im Flash-Wiedergabe, aber die Dreistigkeit und ffmpeg basierte Schnittgut abgeschnitten wird in beiden.
Die Methode, mit der wir die Audiowiedergabe im Flash stoppen, ist ziemlich Standard. Ich habe die Sound-Bits zu einer Testklasse extrahiert. Hier ist der entsprechende Code
Also die Frage ist, gibt es einen besseren Weg, um genauere Wiedergabe von innerhalb Flash zu erhalten? Kommt es auf Codec/Abtastrate/etc?
Der Timer ist eigentlich kein großes Problem. Wenn Sie das swf-Beispiel hören, werden Sie hören, dass Reagan das Wort "Herausforderer" vervollständigt. Die Wiedergabe endet normalerweise um 7407 ms. Wenn Sie jedoch das mp3 mit ffmpeg oder Audacity bis zu 7400 (link oben) abschneiden, wird ein bedeutender Teil des Wortes abgeschnitten. – er1234