在android上即时切换视频的摄像头

时间:2012-08-07 16:18:15

标签: android xamarin.android

我知道这是有可能的,因为我的机器人手机附带的相机应用程序可以做到,但对于我的生活,我似乎无法动态切换摄像机或视频或标准相机(这让我怀疑我做得不对劲!)

目前,我有一个按钮

的事件
btnSwitchCamera.Click += new EventHandler(btnSwitchCamera_Click);

在此之前,我检查相机的数量 - 如果只有一个相机,则事件未启用。

切换代码如下所示

private void btnSwitchCamera_Click(object s, EventArgs e)
    {
        if (isBackCamera == false)
        {
            try
            {
                RunOnUiThread(delegate
                {
                    camera.Release();
                    camera = Android.Hardware.Camera.Open(1);
                });
            }
            catch (Java.Lang.RuntimeException)
            {
                alertMsg(context, Application.Context.Resources.GetString(Resource.String.videoErrorTitle),
                    Application.Context.Resources.GetString(Resource.String.videoFailToConnect));
                return;
            }
            isBackCamera = true;
        }
        else
        {
            try
            {
                RunOnUiThread(delegate
                {
                    camera.Release();
                    camera = Android.Hardware.Camera.Open(0);
                });
            }
            catch (Java.Lang.RuntimeException)
            {
                alertMsg(context, Application.Context.Resources.GetString(Resource.String.videoErrorTitle),
                    Application.Context.Resources.GetString(Resource.String.videoFailToConnect));
                return;
            }
            isBackCamera = false;
        }
    }

如果我点击该按钮,该应用程序就会声称我无法连接到该服务。

视频录制代码并不特别 - 它是一个沼泽标准设置表面,做持有人,以及开始/停止录制。

我这样做了吗?从文档中,我需要释放相机,然后使用适当的相机编号打开相机(Android.Hardware.Camera.NumberOfCameras - 1)

清单已正确设置。

由于

0 个答案:

没有答案