Javascript 当禁用视频显示网络摄像头led亮起时打开TOK

Javascript 当禁用视频显示网络摄像头led亮起时打开TOK,javascript,opentok,Javascript,Opentok,我在一个JS网站上使用Opentok,即使我已经启动了视频会议,我也看到网络摄像头led灯亮起。当我打电话时,我看不到其他用户,但这个打开的led真的很烦人 这就是我只使用语音所做的: var pubOptions = {publishAudio:true, publishVideo:false}; //初始化发布服务器,并将其放入id=“Publisher”的元素中 我是不是为了打一个只有声音的电话而错过了什么 谢谢如果您在通话中根本不需要视频,那么您将需要使用videoSource属性而不

我在一个JS网站上使用Opentok,即使我已经启动了视频会议,我也看到网络摄像头led灯亮起。当我打电话时,我看不到其他用户,但这个打开的led真的很烦人

这就是我只使用语音所做的:

var pubOptions = {publishAudio:true, publishVideo:false};
//初始化发布服务器,并将其放入id=“Publisher”的元素中

我是不是为了打一个只有声音的电话而错过了什么


谢谢

如果您在通话中根本不需要视频,那么您将需要使用
videoSource
属性而不是
publishVideo
属性

publishVideo
仅用于发布者的初始状态,但它仍然请求访问相机,以防您稍后调用
publisher.publishVideo(true)

如果将
videoSource
设置为null,则它不会请求访问摄像头

var pubOptions = {videoSource: null};
如果将此属性设置为null或false,则浏览器不会请求访问摄影机,也不会发布视频。在仅语音呼叫中,为每个发布服务器将此属性设置为null或false


From:

您还使用了
initPublisher
的旧版本。您应该这样做:
var publisher=OT.initPublisher('publisher',pubOptions)
(假设页面上有一个ID为publisher的元素)感谢您提供的信息!关于此更改,我在页面中有一个
publisher
元素,但由于某些原因,视频元素被附加到html的末尾。如果我使用旧配置,它会附加到
publisher
divI刚刚测试过,只要在调用
initPublisher
之前将元素附加到页面,它就可以正常工作。如果确定元素存在,则可以自己选择元素并将其提供给
initPublisher
,如下所示:
var el=document.querySelector(“#publisher”);var publisher=OT.initPublisher(el,{videoSource:null})。我建议您避免使用旧方法签名。我已确认旧版本适用于您的原因是,您在加载元素之前调用了
initPublisher
,可能是因为
标记在HTML中放在了发布者之前。加载页面后,您应该将Javascript移动到publisher元素下方,或者使用事件侦听器运行Javascript。是!这是由于在加载页面之前使用了init发布程序…我只是将其移动到window.onload上的do int,它就可以工作了。再次感谢!
var pubOptions = {videoSource: null};