3

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

switchCamera();
myAgoraClient.switchCamera();
localStream.switchCamera();

他们都抛出一个no such function错误。

在 agora.io for web 中切换相机的正确方法是什么?

4

2 回答 2

2

您可以使用2.5 SDK中的switchDevice方法执行此操作

switchDevice(类型:字符串,deviceId:字符串,onSuccess:函数,onFailure:函数):无效

例如;

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

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

于 2018-11-16T18:33:30.863 回答
1

我认为最新版本的 Agora Web SDK 并没有开箱即用的这些方法。

但是,您可以通过以下方式创建摄像机列表:

AgoraRTC.getDevices(function(devices){
  cameras = devices.filter(device => device.kind === 'videoinput');
});

然后给switchCamera一个实现:

function switchCamera(){
    cameraIndex = (++cameraIndex) % cameras.length;
}

使用cameras[cameraIndex].deviceIdascameraId创建一个新的本地视频流并发布出去。

于 2018-10-09T06:45:03.833 回答