为node-webkit选择默认网络摄像头

时间:2015-03-19 01:31:02

标签: google-chrome node-webkit

我有一个node-webkit应用程序,它使用RecordRTC来捕获一段视频。我在Windows Surface Pro 3上运行该应用程序,并且需要使用前置网络摄像头而不是背面网络摄像头。我知道Chrome中有一个更改默认网络摄像头的设置,但如何在node-webkit中配置?

1 个答案:

答案 0 :(得分:1)

我没有设备来测试它,但它应该工作。我相信移动设备将返回“用户”或“环境”,以确定它是正面还是背面。

var devices = function (devices) {
  for (var i = 0; i !== devices.length; ++i) {
    var camera = devices[i];
    if (camera.kind === 'video' && camera.facing === 'user') {
       createStream(camera.id);
    } else {
      console.log('No front facing camera');
    } 
  }
}

var createStream = function(id) {
  var settings = {video: {optional: {sourceId: id} }};
  navigator.webkitGetUserMedia(settings, successCallback, errorCallback);
};

MediaStreamTrack.getSources(devices);

这基本上遍历所有可用设备并检查它是否是视频源并且面向用户。然后,它将使用该设备的ID来创建媒体流。