Closed Cxz-web closed 5 years ago
你可以试试将你的 electron 的启动访问地址改为 https://demo-rtc.qnsdk.com
然后正常音视频连麦看是否能复现这个错误
electron-sample.zip
你可以参考这个 SDK in Electron 的 Sample 工程,仅包含了采集摄像头的代码,npm install
之后 npm start
即可。
这个报错信息猜测是你 electron 访问的网址不是 https
或者 127.0.0.1
或者 本地文件。这回导致无法获取摄像头/麦克风
你可以试试将你的 electron 的启动访问地址改为
https://demo-rtc.qnsdk.com
然后正常音视频连麦看是否能复现这个错误
换了别的笔记本电脑开发,能成功运行,可能是摄像头问题, 现在遇到另外一个问题, 关于录屏的,因为谷歌浏览器上需要安装插件, electron上怎么录屏呢?使用了electron里面的BrowserWindow.addExtension这个api会报错。
electron 的录屏模块是其自己负责的,SDK 没有对应封装。但是你可以使用这个 https://doc.qnsdk.com/rtn/web/docs/api_others#4 将 electron 录屏模块的输出包装成 SDK 的媒体对象
非常感谢, 没注意到文档,我尝试一下。
具体看了下文档, 您的意思是指, 我用electron 其它办法合成录屏track,再转化成SDK内置track对象推出去?
是的,通过 electron 的 desktopCapture 获取需要录制窗口的 sourceid,将 sourceid 传入 getUserMedia 获取 MediaStream
,通过MediaStream.getAudioTracks()[0]
/ MediaStream.getVideoTracks()[0]
获取原生的 Track 对象,然后通过这个 API 转化成 SDK 的 Track 对象
OK , 我现在去试下, thanks。
@disoul , 您好,首先感谢你的帮助, 上周的问题基本都解决了, 还剩下一个问题就是sdk的问题。 有些笔记本在谷歌运行该sdk打开摄像头会报错,而火狐浏览器能够成功运行,我尝试打开七牛官网demo也是如此, 报错信息是(DOMException: Could not start audio source)。
这个可能是 Chrome 不支持这些笔记本的麦克风。
https://doc.qnsdk.com/rtn/web/docs/api_device_manager_track#2_2 你可以通过这个事件打印一下浏览器所有识别到的设备,看是否有 audioinput
设备
@disoul 测试下了 ,点击允许摄像头的时候,发现谷歌下监听这个事件没有反应, 而火狐有反应 。看了下QNRTC.deviceManager.deviceInfo 在谷歌是有打印出audioInput和videoInput设备列表以及设备id的。
@disoul 谷歌下QNRTC.deviceManager.deviceInfo这个打印出来的设备多达7个,kind为audioinput也有很多个,实际情况是火狐浏览器都能正确打印摄像头和音频设备各为一个。 要是在我的笔记本用户手动挑选的话或者使用默认设备会容易传进去错误的设备导致报错,我代码里面挑正确的id 传进去的话, 能够成功打开摄像头。
音频还是无法打开,一旦track 传进去audio选项 sdk便报错。
摄像头是支持的。
那应该就是 Chrome 不支持这种麦克风。这个属于原生层的错误,SDK 也只能抛出来。可以考虑外接个 usb 麦克风之类的。
@disoul 好的, 明白了, 感谢!
报错信息:Could not start audio source。 SKD版本,2.1。 electron版本:4.1.3。