【问题标题】:Switch camera on webview video call在 webview 视频通话中切换摄像头
【发布时间】:2020-06-22 12:13:33
【问题描述】:

我有 xamarin 形式的应用程序,我正在访问 webview 进行视频通话。一切正常,只是我需要知道如何在通话期间切换后置/前置摄像头?就像视频通话开始时默认打开前置摄像头一样。

视频通话初始化代码

function initializeLocalMedia(options, callback) {

        if(options) {
            options['audio'] = true;

            if(options['video'])
                options['video'] = true;
        } else {
            options['audio'] = true;
            options['video'] = false;
        }

        // Get audio/video stream
        navigator.getUserMedia(options, function(stream) {
            // Set your video displays
            window.localStream = stream;
            myapp.setMyVideo(window.localStream)
            if(callback)
                callback();
        }, function(err) {
            console.log("The following error occurred: " + err.name);
            alert('Unable to call ' + err.name)
        });
    }

【问题讨论】:

  • 您好,您能否提供一个适用于 xamarin 表单的 webview 视频通话实现的工作代码?听起来很有趣,可以帮助我很多。提前致谢。

标签: xamarin.forms webrtc peerjs


【解决方案1】:

直接写代码,应该是这样的:

Camera.CameraInfo camInfo = new Camera.CameraInfo ();
for (int i = 0; i < Camera.NumberOfCameras; i++) {
    Camera.GetCameraInfo (i, camInfo);
    if (camInfo.Facing == CameraFacing.Front){
        try {
            return Camera.Open(i);
        } catch (Exception e) {
            // log or something
        }
    }
}
return null;

我们正在做的是迭代硬件,然后检查是否匹配前置摄像头,如果匹配则执行操作。后置摄像头也是如此

【讨论】:

  • 你是如何得到这个“Camera.CameraInfo”的?我没有得到任何关于我的相机项目的参考
  • 此代码适用于 xamarin.android 我正在使用 xamarin 表单
  • @KulsumInternationalHospital 那么你需要一个媒体插件而不是从核心构建所有东西。对于启动考虑阅读devblogs.microsoft.com/xamarin/…
  • 在媒体插件中它没有提供任何选择相机的选项
  • 您使用的是安卓应用的表单吗?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-04-27
  • 2020-10-04
  • 2018-01-09
  • 2016-12-31
  • 2020-11-14
  • 2018-09-04
相关资源
最近更新 更多