![](/img/trans.png)
[英]Can we switch front and rear camera using Twilio Javascript Client in Cordova
[英]Android Chrome Switch from Front to Rear camera using JavaScript
我无法正确弄清楚这一点,或者是否可以切换相机。
我已经尝试在第二次调用 getUserMedia 之前停止视频轨道,希望停止视频轨道会关闭前置摄像头,以便后置摄像头可以打开,但它只是不起作用。
var oldStream; // the old stream from getUserMedia
Function SwitchCamera() {
oldStream.getVideoTracks()[0].stop();
navigator.mediaDevices.getUserMedia({audio: true, video: {deviceId: 'rear camera device ID'}).then(function(newStream){
// this never runs
}).catch(function(err){
console.log(err); // Cannot connect camera
});
}
我还需要做些什么才能在手机上切换摄像头吗? 这甚至可能吗?
在移动设备上,我们似乎只需要给相机足够的时间来关闭它。 将getUserMedia
包装在一个延迟约 1 秒(1,000 毫秒)的setTimeout
中足以进行我的测试,但我还将尝试在引发错误之前连续交换相机 3 次。 我不确定如何,甚至是否有可能检查实际设备是否已停止或关闭,但我怀疑由于浏览器安全性,这是不可能的。
在一个完美的世界中, MediaStreamTrack.stop()
将返回一个 promise,它为我们提供有关与轨道关联的设备是否实际停止/关闭或是否由于它被用于其他轨道而仍在运行的信息。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.