簡體   English   中英

傳遞的參數未明確說明javascript Chrome擴展

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM