因此,此示例chrome扩展调用媒体流的选择器,然后gotStream(stream)
显然正在寻找mediaObject的参数。但是,当gotStream
函数作为第二个参数传入navigator.webkitGetUserMedia
时,没有传入任何参数。它只是状态函数名称。
这是代码
function gotStream(stream) {
console.log("Received local stream");
var video = document.querySelector("video");
video.src = URL.createObjectURL(stream);
localstream = stream;
stream.onended = function() { console.log("Ended"); };
}
function getUserMediaError() {
console.log("getUserMedia() failed.");
}
function onAccessApproved(id) {
if (!id) {
console.log("Access rejected.");
return;
}
navigator.webkitGetUserMedia({
audio:false,
video: { mandatory: { chromeMediaSource: "desktop",
chromeMediaSourceId: id } }
}, gotStream, getUserMediaError);
}
之前我已经看过这些电话了,我只是不知道它们是如何工作的,请帮忙。
答案 0 :(得分:0)
是否存在某种错误,或者您只是不明白它是如何工作的?
navigator.webkitGetUserMedia
expects 3 arguments。一个用于配置数据,一个用于调用成功的函数(成功回调),另一个用于调用错误。
请注意,它需要功能。此代码按名称传递对函数的引用;它将使用适当的参数调用(来自webkitGetUserMedia
)。
考虑这段代码,它的工作方式相同:
function hello(subject) {
alert("Hello, " + subject + "!");
}
function passWorldTo(callback) {
callback("world");
}
passWorldTo(hello);