gpt4 book ai didi

iOS Swift - 无法使用库中的视频

转载 作者:行者123 更新时间:2023-11-28 06:24:44 25 4
gpt4 key购买 nike

我正在尝试在我的 swift 应用程序中从库中获取视频。我正在使用以下代码片段:

 print("ChatDetailsController - imgaction - Vid from Lib pressed")
self.selection = "videoLib";
self.imgSelection = "vidFromLib"
self.imagePicker.sourceType = .PhotoLibrary
self.imagePicker.delegate = self
self.imagePicker.mediaTypes = ["public.movie"]
self.presentViewController(self.imagePicker!, animated: true, completion: nil)

然后在委托(delegate)方法中:

func imagePickerController(picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [String : AnyObject])
{
if(selection == "videoLib")
{
if let videoURL = info[UIImagePickerControllerReferenceURL] as? NSURL
{


print("imagePickerController - reached for video - from Lib - \(videoURL)")
let videoData = NSData(contentsOfURL: videoURL)

}
}

}

当运行该应用程序时,它会显示库,我可以选择一个视频,然后它会显示正在压缩视频......但随后应用程序崩溃了。

当我尝试访问 videoData 变量时发生崩溃,因为它无法获取实际数据,因为路径是 Assets 路径而不是视频路径。

日志显示类似这样的内容:

fatal error :在展开可选值时意外发现 nil

打印函数显示:

imagePickerController - 获取视频 - 来自 Lib - assets-library://asset/asset.MOV?id=7D3BFA00-A7CB-470C-8899-F82FCC2CBC54&ext=MOV

此外,在选择/选择视频后,控制台/日志中会显示类似这样的消息:

PLPreviewImageAndDurationForVideoAtPath 的 [通用] 视频路径/var/mobile/Media/PhotoData/CPLAssets/group419/A2901DD1-FDEF-423B-B4A3-E808B9AC45E1.MOV 不存在

当然,每次运行时文件名都会更改。

我能够从相机获取视频和图像,并从库中获取图像,我只是在使用库中的视频时遇到了问题。我希望看到类似于以下内容的视频网址:

/var/mobile/Containers/Data/Application/BEDDC883-B20E-496D-8C9A-A40EC0A29214/Documents/63ea24932c101b76c72fcbae3993fc9b.mov 示例;视频文件在应用程序中并且未显示为不可用的 Assets URL。任何帮助将不胜感激。

最佳答案

问题是您试图获取错误的视频。您正在尝试使用 info[UIImagePickerControllerReferenceURL]。你想要的是 info[UIImagePickerControllerMediaURL]

关于iOS Swift - 无法使用库中的视频,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42322338/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com