因此,Firefox中有一个WebRTC,有一个方便的类可以实现RTC通信,称为RTCPeerConnection,可以从JavaScript应用程序实例化和使用。你可以在[1]找到一些不错的例子。 我在这里使用我的自定义传输(如果您有兴趣 - [2])希望将其用于RTC通信。简而言之,我需要通过自定义传输“替换”WebRTC引擎的传输层,同时为用户提供相同的类似RTCPeerConnection的JavaScript接口。并且最好,它看起来不应该像Firefox的自定义版本(没有补丁)。 所以我想出了扩展的想法,它将用C ++编写(因为它需要与WebRTC库和我的自定义传输库链接),并以某种方式将其接口暴露给Javascript。而且我发现了XPCOM,正如我想的那样,可以为我提供这个。 因此,我已经开始与这个主题的过时和解析信息作斗争,经过3天的努力终于最终建成了附加组件。不幸的是,我无法从Javascript访问它,因为Javascript的“Components.classes未定义”错误。似乎根本无法访问它。或者我错了?
这是Javascript:
function check()
{
console.debug("checking...");
const {Cc,Ci,Cu} = require("chrome");
var rtc = Components.classes["@named-data.net/ndnrtc;1"].createInstance();
rtc = rtc.QueryInterface(Ci.ndINrtc);
console.debug("rtc: "+rtc);
}
使用XPCOM Viewer 插件可以看到我的组件,并且在Firefox中打开空白页时,控制台中的上面的代码可以执行。
考虑到这一切,我想问一下Firefox专家,我可以采取哪些方法来实现我的想法。 提前谢谢