关于 createMediaStreamSource,属性 "stream" 来自哪里?
Where does the property "stream" come from in regards to createMediaStreamSource?
W3.org 有以下示例:
https://dvcs.w3.org/hg/audio/raw-file/tip/webaudio/webrtc-integration.html
<canvas id="c"></canvas>
<script>
navigator.getUserMedia('audio', gotAudio);
var streamRecorder;
function gotAudio(stream) {
var microphone = context.createMediaStreamSource(stream);
var analyser = context.createAnalyser();
microphone.connect(analyser);
analyser.connect(context.destination);
requestAnimationFrame(drawAnimation);
streamRecorder = stream.record();
peerConnection.addStream(stream);
}
</script>
什么是"stream"?这个 属性 是从哪里来的?当它像这样放置时会发生什么?我不明白它是怎么定义的。
navigator.getUserMedia('audio', gotAudio);
getUserMedia 提示用户允许使用一个视频 and/or 一个音频输入设备,例如相机或屏幕共享 and/or 一个麦克风。
在您的情况下,您请求的是音频权限。如果 getUserMedia 调用成功,那么将调用一个名为 "gotAudio" 的函数,它会带来流。
因此,一旦您成功访问音频,就可以使用麦克风或任何其他与音频相关的设备。
在 gotAudio 函数中,代码使用麦克风记录音频流。
您还可以使用失败回调:
navigator.getUserMedia(约束、successCallback、errorCallback);
W3.org 有以下示例: https://dvcs.w3.org/hg/audio/raw-file/tip/webaudio/webrtc-integration.html
<canvas id="c"></canvas>
<script>
navigator.getUserMedia('audio', gotAudio);
var streamRecorder;
function gotAudio(stream) {
var microphone = context.createMediaStreamSource(stream);
var analyser = context.createAnalyser();
microphone.connect(analyser);
analyser.connect(context.destination);
requestAnimationFrame(drawAnimation);
streamRecorder = stream.record();
peerConnection.addStream(stream);
}
</script>
什么是"stream"?这个 属性 是从哪里来的?当它像这样放置时会发生什么?我不明白它是怎么定义的。
navigator.getUserMedia('audio', gotAudio); getUserMedia 提示用户允许使用一个视频 and/or 一个音频输入设备,例如相机或屏幕共享 and/or 一个麦克风。
在您的情况下,您请求的是音频权限。如果 getUserMedia 调用成功,那么将调用一个名为 "gotAudio" 的函数,它会带来流。
因此,一旦您成功访问音频,就可以使用麦克风或任何其他与音频相关的设备。
在 gotAudio 函数中,代码使用麦克风记录音频流。
您还可以使用失败回调: navigator.getUserMedia(约束、successCallback、errorCallback);