Google hat gerade geändert, wie Chrome audio
und video
vorlädt; siehe: Ссылка
Es ist mein Verständnis, dass das preload
-Attribut auf auto
zu setzen, sollte das Problem beheben, aber ich konnte dies nicht tun:
Bei Chrome 64 und Chrome 65-dev hören beide auf, innerhalb einer Minute zu spielen (andere Browser und ältere Chromes sind davon nicht betroffen). Ich habe dieses Problem auf Mac, Windows und Android repliziert.
Während meines Debug-Prozesses habe ich alle möglichen Medienereignisse angefügt das JS-Objekt (zB audio.addEventListener('timeupdate', () => { console.log('timeupdate') })
) und die Ereignisse feuern zunächst so:
progress
timeupdate
progress
timeupdate
[...]
Später wie folgt:
timeupdate
timeupdate
timeupdate
[...]
Wenn die Audiowiedergabe gestoppt wurde, habe ich eine Handvoll error
-Ereignisse und dumping audio.error
returns: PIPELINE_ERROR_DECODE: Failed to send audio packet for decoding: timestamp=81763265 duration=26122 size=201 side_data_size=0 is_key_frame=1 encrypted=0 discard_padding (ms)=(0, 0)
Wie behebe ich das? Ist das ein Chrome-Bug?
UPDATE:
UPDATE 2:
chrome://media-internals/
zeigt dies:
UPDATE 3:
Dieses Problem wurde in Chrome 65 behoben.
Nach ein paar Tagen der Versuch und Irrtum und Forschung habe ich bestätigt, was nicht funktioniert und funktioniert.
mp3wrap output.mp3 *.mp3
Die Ausgabedatei ist weiterhin beschädigt und hält
ffmpeg -i "concat:0.mp3|1.mp3" -acodec copy output.mp3
Die Ausgabedatei ist weiterhin beschädigt und hält
Verketten / implodieren Sie einfach Ihre Audio-Binaries (in PHP mache ich implode('', $audioBinaries)
und dann mp3val -f concatenated-audio-file.mp3
. Das -f
Argument ist essentiell und es bedeutet "versuche Fehler zu beheben".
Wie installiere ich mp3val?
Auf MacOS: brew install mp3val
Auf Deb / Ubu: apt-get install mp3val
Gleiches Problem, das ich mit der Verkettungstechnik konfrontiert habe. Mit ffmpeg funktioniert es gut. Versuchen Sie ffmpeg mit diesem Befehl.
%Vor%Textdatei enthält eine Liste von Dateien, die pro Zeile geschrieben werden.
Tags und Links javascript google-chrome audio