我正在使用UIImagePickerController在短信应用中挑选视频。然后,这些视频可以在iOS应用,Android应用或Web应用上播放。我正在使用下面的代码。
let picker = UIImagePickerController()
picker.delegate = self
picker.mediaTypes = ["public.image", "public.movie"]
picker.videoQuality = UIImagePickerControllerQualityType.typeMedium
if #available(iOS 11.0, *) {
picker.videoExportPreset = AVVideoProfileLevelH264Baseline30
}
此工作正常,视频消息在iOS和网络上发送和播放正常但在Android VideoView中播放时,我收到“无法播放此视频”消息。该视频肯定会在正确的位置保存到Android设备,因为我可以使用Android设备监视器将其从那里拉出来,并且看到它肯定是h264,但有一些关于Android VideoView不喜欢的文件。
在Android设备上播放iOS视频时,我缺少什么?我真的不想在服务器上对它们进行转码,因为这会大大减慢邮件传递时间。
感谢您的帮助
答案 0 :(得分:-1)
要回答我自己的问题以防其他人需要它.. iOS文件实际上是.MOV,即使它是用h264编码并保存为.mp4。
我使用这篇文章中的函数将.MOV转换为mp4并解决了问题。
Swift - How to record video in MP4 format with UIImagePickerController?