使用 MediaStream 的录制 API |
您所在的位置:网站首页 › 网页录制音频 › 使用 MediaStream 的录制 API |
一旦getUserMedia成功创建了媒体流,你可以使用 MediaRecorder() 构造函数创建一个新的媒体记录器实例,并直接传递该媒体流流。这是使用 MediaRecorder API 的入口点。现在,可以使用浏览器的默认编码格式将流捕获到Blob。 jsvar mediaRecorder = new MediaRecorder(stream);为了能够方便的控制音频的录制,MediaRecorder的实例提供了一系列有用的方法和事件,在 Web Dictaphone 这个简单的项目中我们只需使用其中的 2 个方法和一些事件。首先,为了能在点击 Record 按钮的时候开始录音,需要调用MediaRecorder.start(): jsrecord.onclick = function () { mediaRecorder.start(); console.log(mediaRecorder.state); console.log("recorder started"); record.style.background = "red"; record.style.color = "black"; };当MediaRecorder正在记录时,调用MediaRecorder.state会返回"recording"。 为了收集录制的数据,我们需要监听mediaRecorder.ondataavailable事件: jsvar chunks = []; mediaRecorder.ondataavailable = function (e) { chunks.push(e.data); };浏览器会在需要的时候触发这个事件,我们也可以通过为MediaRecorder.start()传递一个时间(毫秒)来周期性的触发这个事件或者调用MediaRecorder.requestData()来直接触发。 最后在点击 Stop 按钮时我们调用MediaRecorder.stop()方法结束录制,录制所产生的Blob数据会在后面使用。 jsstop.onclick = function () { mediaRecorder.stop(); console.log(mediaRecorder.state); console.log("recorder stopped"); record.style.background = ""; record.style.color = ""; };注意,当媒体流结束时会导致录音终止。例如歌曲播放结束,或者用户停止共享他们的麦克风。 |
今日新闻 |
点击排行 |
|
推荐新闻 |
图片新闻 |
|
专题文章 |
CopyRight 2018-2019 实验室设备网 版权所有 win10的实时保护怎么永久关闭 |