从Blob中保存浏览器的持续时间

问题描述:

我使用window.MediaRecorder来录制wav音频文件,然后将其上传到S3。我将大块数据保存到一个数组中,然后在录制完成后用它们创建一个Blob。这工作正常,我没有记录或播放文件的问题。然而,我不能为我的生活弄清楚如何设置生成的Blob文件的持续时间。从Blob中保存浏览器的持续时间

无论何时我在本地下载文件或将其上传到s3,任何地方都没有持续时间元数据。我正在保存用户记录的音频的持续时间,但一直未能有效地将其附加到音频文件。我觉得应该有一个小小的解决方案,但我花了数小时搜索,似乎无法找到任何关于此的东西。它必须是可能的,那么我错过了什么?

也许,您已经找到了解决方案,但是我发布了任何其他感兴趣的人来查看。

您可以使用MediaRecorder.onstartonstop事件。

  1. 当MediaRecorder的onstart事件被触发时,您需要获取类似于Date.now()的当前日期。
  2. 当onstop事件触发时,也获取当前日期。
  3. 您需要减去这两个日期才能获得录制的音频的持续时间。

参考文献:

+0

顺便说一句,我不是很确定.wav文件默认情况下,Firefox和Chrome浏览器(支持不确定其他人)。 Firefox可以记录.ogg文件和Chrome .webm文件。希望能帮助到你。 – cr1ng3