It can be a TypedArray : Uint8Array, Uint16Array, Uint32Array - for unsigned integers of 8, 16, and 32 bits. MediaRecorder allows you to go from a timed media to an "offline" buffer, basically the mirror of MediaSource API. This project uses only javascript vanilla, we dont need anything eccentric like react.js or vue.js, but of course if you want to try it using some framework go ahead because its basically the same. Instead, the problem was solved by making the third container's height equal to 100% of the parent height, minus the heights and padding of the other two: Note: calc() has good support across modern browsers too, even going back to Internet Explorer 9. Then whenever we stop recording we call another function that creates the HTML audio element using the chunks array (Blobs). Some user agents subclass this interface to provide more precise information or functionality, like in CanvasCaptureMediaStreamTrack. The data is delivered by a series of dataavailable events, already in the format you specify when creating the MediaRecorder " Last modified: Oct 10, 2022, by MDN contributors. This is fairly well documented already, but we thought we'd give a mention to the checkbox hack, which abuses the fact that you can click on the