ucfopen / Materia

Engage students with easily embedded apps for online courses. Supercharge your course with compelling experiences and game mechanics.
https://ucfopen.github.io/Materia-Docs/
GNU Affero General Public License v3.0
36 stars 32 forks source link

Audio recording in media importer #1538

Open clpetersonucf opened 10 months ago

clpetersonucf commented 10 months ago

Adds a built-in media recorder option to the media importer.

Note: this uses the mediaRecorder interface which is relatively new. It has cross-browser support, but a few quirks: there may be browser compatibility issues related to the audio format(s) used for recording. audio/webm; codecs=opus is hard-coded as the MIME type due to general compatibility.

Additionally, the blobs generated by the mediaRecorder interface due not contain duration metadata. This is apparently a bug in chromium that has previously been tagged as wontfix due to it being "by design". Instead, I had to use a fix-webm-duration package that reads the blob after recording has stopped and returns a modified blob that includes the correct duration information.

Replacement for #1527 since that was accidentally closed when I deleted dev/10.0.1 before changing the original PR's base branch.