Agora.io 的 WebRTC:SwitchCamera?
WebRTC with Agora.io: SwitchCamera?
我正在使用 Agora.io 构建网络应用程序。我希望能够在客户的智能手机上从前置摄像头切换到后置摄像头。我看过 switchCamera
的 agora 文档。我试过以下方法:
switchCamera();
myAgoraClient.switchCamera();
localStream.switchCamera();
他们都抛出 no such function
错误。
在 agora.io 网络版中切换摄像头的正确方法是什么?
我认为最新版本的 Agora Web SDK 没有开箱即用的方法。
但是,您可以通过以下方式创建摄像机列表:
AgoraRTC.getDevices(function(devices){
cameras = devices.filter(device => device.kind === 'videoinput');
});
然后给switchCamera一个实现:
function switchCamera(){
cameraIndex = (++cameraIndex) % cameras.length;
}
使用cameras[cameraIndex].deviceId
作为cameraId
创建一个新的本地视频流并发布出去。
您可以使用 switchDevice method in 2.5 SDK
switchDevice(type: string, deviceId: string, onSuccess: function,
onFailure: function): void
例如;
localStream.switchDevice("video", "<deviceid>", console.log,console.log)
应该做的工作。我在尝试同样的事情但是示例包含旧的 2.4 js sdk,你需要专门下载 ^2.5
我正在使用 Agora.io 构建网络应用程序。我希望能够在客户的智能手机上从前置摄像头切换到后置摄像头。我看过 switchCamera
的 agora 文档。我试过以下方法:
switchCamera();
myAgoraClient.switchCamera();
localStream.switchCamera();
他们都抛出 no such function
错误。
在 agora.io 网络版中切换摄像头的正确方法是什么?
我认为最新版本的 Agora Web SDK 没有开箱即用的方法。
但是,您可以通过以下方式创建摄像机列表:
AgoraRTC.getDevices(function(devices){
cameras = devices.filter(device => device.kind === 'videoinput');
});
然后给switchCamera一个实现:
function switchCamera(){
cameraIndex = (++cameraIndex) % cameras.length;
}
使用cameras[cameraIndex].deviceId
作为cameraId
创建一个新的本地视频流并发布出去。
您可以使用 switchDevice method in 2.5 SDK
switchDevice(type: string, deviceId: string, onSuccess: function, onFailure: function): void
例如;
localStream.switchDevice("video", "<deviceid>", console.log,console.log)
应该做的工作。我在尝试同样的事情但是示例包含旧的 2.4 js sdk,你需要专门下载 ^2.5