android - 如何在 Xamarin.Forms 中录制视频
问题描述
我正在使用Xam.Plugin.Media拍摄照片和视频。下面的代码是录制视频的问题是当我点击按钮时相机没有打开。我试图卸载并安装 Nuget 包并删除了 bin 和 obj 仍然没有。我还尝试了具有不同 api 的不同手机,但仍然没有任何效果。我希望你能帮帮我
try
{
var cafNo = entCafNo.Text;
await CrossMedia.Current.Initialize();
if (!CrossMedia.Current.IsCameraAvailable || !CrossMedia.Current.IsTakeVideoSupported)
{
await DisplayAlert("No Camera", "No Camera Available", "Ok");
return;
}
var file = await CrossMedia.Current.TakeVideoAsync(
new Plugin.Media.Abstractions.StoreVideoOptions
{
SaveToAlbum = false,
Name = cafNo + "_VID.mp4",
CompressionQuality = 80,
Quality = VideoQuality.Low
}
);
entVideoUrl.Text = file.Path;
}
catch (Exception ex)
{
Console.Write(ex.Message);
}
解决方案
Android 安全架构规定:默认情况下,任何应用程序都无权执行任何对其他应用程序、操作系统或用户产生不利影响的操作。这包括读取和写入用户的私人数据(如联系人或电子邮件)、从其他应用程序读取和写入文件、执行网络访问、保持设备唤醒、执行摄像头访问等。
要使用这些受保护的设备功能,首先在应用程序清单文件 (androidmanifest.xml) 中添加一个或多个 <uses-permission> 标记。
在 xamarin.forms 中,您可以参考此处的链接
推荐阅读
- google-sheets - 添加迄今为止的月份,分数
- jboss - Wildfly 14 域 - 连接超时
- opengl - 为平面实现各向异性照明
- angular - 角圆形模块导入
- python - 如何在两个不同的服务器(python)中查询两个表?
- powershell - 如何使用 Powershell 运行可执行文件
- dart - 你如何改变 List[index].fieldname 颤动的值?
- javascript - 没有节点 js 的 ES6 或 uglify minify maven 插件
- javascript - 打开一个modal,先点击clear input
- python - tensorflow中保存在ModelCheckpoint中的Keras模型无法加载到另一台机器上