![](/img/trans.png)
[英]Google Chrome Extension - URL Parameter Manipulation - JavaScript
[英]Parameter passed without explicitly stating javascript Chrome extension
因此,此示例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);
}
我以前見過這類電話,但是我不知道它們的工作方式,請幫忙。
是否存在某種錯誤,或者您只是不了解其工作原理?
navigator.webkitGetUserMedia
需要3個參數 。 一個用於配置數據,一個用於函數調用成功(成功回調 ),另一個用於調用錯誤。
請注意,它需要一個function 。 該代碼按名稱傳遞對該函數的引用; 將使用適當的參數(從webkitGetUserMedia
內部)調用它。
考慮下面的代碼,它以相同的方式工作:
function hello(subject) { alert("Hello, " + subject + "!"); } function passWorldTo(callback) { callback("world"); } passWorldTo(hello);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.