微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何在Xamarin iOS中播放.MOV文件

如何解决如何在Xamarin iOS中播放.MOV文件

我们正在将使用自定义相机视图完成的Xamarin.iOS发布功能(类似于Instagram)迁移到Xamarin Essentials Media Picker。

当尝试使用PickVideoAsync播放相机胶卷中的视频文件时,我得到一个.MOV文件,并且选择相同视频时,但是使用以前的版本,它是一个.mp4文件

以前版本的文件路径:

/var/mobile/Containers/Data/Application/657B8450-EDD5-4704-98BF-34B3406A8A37/Documents/IM-20201031151047346.mp4

新版本文件路径:

/var/mobile/Containers/Data/Application/C8821691-6B3E-4F25-9E95-7299CD78676A/Library/Caches/trim.DBCDDE49-0D23-4C15-A450-E38E51421DD7.MOV

我能想到的唯一解释是,视频在设备中以两种不同的格式存在吗?

现在问题的第二部分:

我希望我可以在“帖子”编辑屏幕中使用相同的实现,在该屏幕上,用户可以添加评论,位置等...

这是使用AVPlayer实现的,但不支持.MOV视频。

有没有办法:

A)支持.MOV的AVPlayer的替代方案? (首选解决方案)

B)强制执行Xamarin Essentials以获取mp4文件

C)在应用程序内将MOV转换为mp4吗? (我想这可能会很慢)

这是AVPlayer的实现:

var videoUrl = GetVideoUrl(mediaviewmodel.MediaUrl);
var playerItem = AVPlayerItem.FromUrl(videoUrl);
var player = AVPlayer.FromPlayerItem(playerItem);
var playerLayer = AVPlayerLayer.FromPlayer(player);
player.Seek(CMTime.Zero);
playerLayer.Frame = View.Bounds;
View.Layer.AddSublayer(playerLayer);

解决方法

我发现GetVideoUrl不正确。

通过将其更改为NSUrl.CreateFileUrl(videoUrl,null);有效。即使带有mov文件!

感谢支持。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。