带有Agora.io的WebRTC:SwitchCamera?

时间:2018-09-29 20:19:40

标签: agora.io

我正在使用Agora.io构建一个Web应用程序。我希望能够从客户端智能手机上的前置摄像头切换到前置摄像头。我看过Service account is invalid/disabled的agora文档。我尝试了以下方法:

switchCamera

所有人都引发switchCamera(); myAgoraClient.switchCamera(); localStream.switchCamera(); 错误。

在agora.io中为网络切换相机的正确方法是什么?

2 个答案:

答案 0 :(得分:2)

您可以使用switchDevice

中的 2.5 SDK 方法执行此操作
  

switchDevice(type:string,deviceId:string,onSuccess:function,   onFailure:函数):无效

例如;

localStream.switchDevice("video", "<deviceid>", console.log,console.log)

应该做的工作。我正在尝试同样的事情,但是示例包含旧的2.4 js sdk,您需要专门下载^ 2.5

答案 1 :(得分:1)

我不认为最新版本的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来创建新的本地视频流并将其发布。