因此,Firefox 中有一个 WebRTC,并且有一个方便的类可以实现 RTC 通信,称为 RTCPeerConnection,可以从 JavaScript 应用程序实例化和使用它。你可以在上面找到一些不错的例子[1] https://apprtc.appspot.com/。
这是我的定制交通工具(如果你有兴趣 -[2] http://named-data.net)想用它进行 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 专家询问我可以采取哪些方法来实现我的想法。
先感谢您
1 https://apprtc.appspot.com/ https://apprtc.appspot.com/ https://apprtc.appspot.com/
2 http://named-data.net http://named-data.net http://named-data.net
最后,我找到了一种可能的解决方案,并在我的文章中进行了描述post http://ptncode.blogspot.com/2013/08/exposing-xpcom-c-interface-on-dom.html
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)