我在Xamarin.Forms应用程序中使用MediaPlugin来拍摄/上传照片和视频。
在图库中上传照片和上传照片及视频可在我测试过的所有设备上的所有平台(iOS,Android,UWP)上使用。 录像可以在大多数Android设备上使用,但有两个- LG Nexus 5 和三星Galaxy S8 Plus 。
在 LG Nexus 5 上,Android-6.0-视频录制过程与往常一样,但是在停止并按“确定”按钮后
await CrossMedia.Current.TakeVideoAsync()
失败,
Plugin.Media.Abstractions.MediaFileNotFoundException: Unable to locate media file at content://media/external/video/media/8852
在 Samsung Galaxy S8 Plus 上(Android-8.0,Samsung Experience-9.0)-
再次,视频录制过程看起来像往常一样,但是停止后在设备屏幕上显示消息Camera has stopped. Open app again
,并且TakeVideoAsync()
返回null
。即它不会崩溃,但返回null
而不是MediaFile实例。
可运行的Android设备:
MediaPlugin的版本: 4.0.1.5
Xamarin的版本: 4.0.0.425677
代码崩溃的片段:
return await CrossMedia.Current.TakeVideoAsync(new StoreVideoOptions
{
Name = "movie.mp4",
SaveToAlbum = true, // or false, doesn't matter here
DefaultCamera = CameraDevice.Rear,
Quality = VideoQuality.Medium
});
有人遇到同样的问题吗?