ITの隊長のブログ

ITの隊長のブログです。Pythonを使って仕事しています。最近はWebに戻ってきたお(^ω^ = ^ω^)

MediaRecorderのdataavailable eventが発火されるタイミングについて

スポンサードリンク

stopが呼ばれるときってマジ?????

developer.mozilla.org

記録を停止します。 この時点で、保存したデータの最後の Blob を含む dataavailable イベントが発生します。 これ以上記録は行われません。

アッはい

動作してみないと信じられない!!!(なんでやねん)

確認したところ

jsfiddle.net

適当にぐぐって参考にしたReactのmoduleもこんな感じ

github.com

github.com

github.com

stopを呼んでから、ondataavailableが実行されないとchunkが空っぽなはずなので、mediaRecorder.stop() -> mediaRecorder.ondataavailable -> mediaRecorder .stop の順のはず。

前にVueで実装したことあったけど、ずっと ondataavailable はデータが適当に溜まったら発火するもんだと勘違いしてた。

追記

これそんなことなかった。

developer.mozilla.org

パラメータのところをみると

各 Blob に記録するミリ秒数。 このパラメータが含まれていない場合は、requestData() メソッドが呼び出されて Blob が取得され、メディアの記録を継続する新しい Blob の作成のきっかけがない限り、メディア期間全体が単一の Blob に記録されます。

なるほど〜〜〜