【问题标题】:EasyRTC - Change camera sourceEasyRTC - 更改相机源
【发布时间】:2016-10-19 16:55:11
【问题描述】:

我正在使用 EasyRTC 框架开发视频聊天。

我已经使用 Node.JS 作为服务器构建了一个小型 Web 应用程序。

一切正常,我可以进行视频通话。

当我在平板电脑或智能手机上使用它时,默认摄像头是前置摄像头。

如何切换到后置摄像头?

【问题讨论】:

    标签: node.js camera webrtc easyrtc


    【解决方案1】:

    在源代码中搜索后,我可以这样设置后置摄像头:

    easyrtc.getVideoSourceList( function(list) {
           var i;
           for( i = 0; i < list.length; i++ ) {
             alert("label=" + list[i].label + ", id= " + list[i].id);
    
             if(list[i].label.indexOf('back') > 0){  // Searching for label containing back (for back camera)
                 easyrtc.setVideoSource(list[i].id);  // Set the id of back camera. Must be called before easyrtc.initMediaSource()
                 easyrtc.initMediaSource(
                       function(){       // success callback
                           var selfVideo = document.getElementById("self");
                           easyrtc.setVideoObjectSrc(selfVideo, easyrtc.getLocalStream());
                           easyrtc.connect("Company_Chat_Line", connectSuccess, connectFailure);
                       },connectFailure
                 );
    
                 break;
             }
           } 
    

    对于 v1.0.17 版本,使用 list[i].deviceid 而不是 list[i].id

    【讨论】:

    • 当我对列表索引进行字符串化时,包含名为 deviceid 的属性
    • 在我的项目中它正在工作。你解决了还是还是不行?
    • 嗯,如果我没记错的话,调用 easyrtc.getVideoSourceList(function(list){....}) 是异步的。所以也许类似的东西对你有用:Link to async function
    • 嘿,如果您使用的是 v1.0.17,正如新版本 New EasyRTC release 的更新日志中所述,您应该使用“deviceid”而不是“id”作为设备 ID。所以在我的代码中应该是list[i].deviceid。在我的代码中,我使用的是旧版本的 EasyRTC,这就是它起作用的原因
    • 您好,您的应用在应用商店有售吗?我也在将 EasyRTC 与 ionic 集成,我想看看它。
    猜你喜欢
    • 1970-01-01
    • 2020-11-16
    • 1970-01-01
    • 1970-01-01
    • 2014-09-24
    • 2018-04-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多