vad*_*irn 5 constraints webrtc getusermedia
我可以通过navigator.mediaDevices.enumerateDevices()承诺获得'videoinput'类型的mediaDevices .
我可以通过navigator.mediaDevices.getUserMedia(constraints)承诺获得mediaStream .
constraints在userMedia中有两个视频轨道应该是什么样的?
jib*_*jib 12
每次拨打电话时getUserMedia(),您最多可以获得一个视频轨道和一个音频轨道,但您可以多次调用它.这可能会多次询问用户,具体取决于https,浏览器以及用户的操作.
遵循标准(此时需要在Chrome中使用adapter.js),要获取特定的"videoinput"设备,请将其传递deviceId给getUserMedia使用deviceId约束:
navigator.mediaDevices.enumerateDevices()
.then(devices => {
var camera = devices.find(device => device.kind == "videoinput");
if (camera) {
var constraints = { deviceId: { exact: camera.deviceId } };
return navigator.mediaDevices.getUserMedia({ video: constraints });
}
})
.then(stream => video.srcObject = stream)
.catch(e => console.error(e));
Run Code Online (Sandbox Code Playgroud)
该exact关键字使所需的约束,保证它会只返回正确的,还是失败.
如果你想要两个摄像头,你将不得不getUserMedia再次使用不同的摄像头,deviceId并希望你所使用的操作系统支持它(例如手机通常不支持).
| 归档时间: |
|
| 查看次数: |
7863 次 |
| 最近记录: |