【发布时间】:2015-01-21 10:03:09
【问题描述】:
喂,
我正在创建自己的 InDesign 插件,我需要连接到我创建的另一个 Web 应用程序。我尝试使用socket.io,但我不想拥有另一台服务器,所以我已经传递给Peer JS,这样我就有了一个可以完美运行的点对点系统,但是我遇到了一些意想不到的问题。
我正在使用 Adobe InDesign CC,它使用 CEP5,它支持 google chrome 浏览器(CEF(Chromium 扩展框架))。
在文档中,据说 CEP5 甚至支持 WebRTC,但是当我尝试将 peerjs(使用 WebRTC)连接到另一个对等点时,我得到一个:“TypeError: undefined is not a function”,在进一步调查中我发现错误是由 Object.Negotiator._startPeerConnection 引发的,但我不明白我错了什么......
我尝试在另一个应用程序(只是一个普通的网站)中使用相同的 PEER JS 代码并连接到同一个对等点并且成功了,所以我猜测问题在于 InDesign 提供的 WebRTC 支持。
我并不局限于使用 PEER JS,我只是希望我的 adobe 插件和我的网站以最智能的方式进行通信,所以欢迎任何想法,但是这是我尝试的插件的一段代码连接到 PEERJS
var peer = new Peer({key: mySecretKey});
var conn = peer.connect('editor-vaComeVibraEEE');//the exception is generated here
conn.on('open', function(){
conn.send('hi!');
});
谢谢你的帮助...... . .
【问题讨论】:
-
你能验证 navigator.webkitGetUserMedia 和 webkitRTCPeerConnection 存在吗?您还可以共享 peerjs 日志吗?还是完整的堆栈跟踪?
-
好的,如果我在我的 InDesign 插件中执行
alert(typeof navigator.webkitGetUserMedia),我会得到未定义,如果我在 Chrome 上的测试应用程序中执行此操作,我会得到一个函数对象。 -
你能对 navigator.getUserMedia 做同样的事情吗?如果它也未定义,则没有 WebRTC 支持。也许应该通过打开一些 InDesign 标志来显式启用它?
-
我在那里不确定,我会检查是否必须启用 WebRTC 支持....
-
您应该在 ExtensionBuilder 论坛中解决您的问题forums.adobe.com/community/creativesuites/extensionbuilder 这是讨论扩展开发的 adobe 地方。
标签: javascript webrtc adobe-indesign peerjs