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