我知道这是有可能的,因为我的机器人手机附带的相机应用程序可以做到,但对于我的生活,我似乎无法动态切换摄像机或视频或标准相机(这让我怀疑我做得不对劲!)
目前,我有一个按钮
的事件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)
清单已正确设置。
由于
保