当前位置:  开发笔记 > 运维 > 正文

来自String的NSURL被截断,UIVideoEditorController的视频路径上的点Swift 2 iOS 8

如何解决《来自String的NSURL被截断,UIVideoEditorController的视频路径上的点Swift2iOS8》经验,为你挑选了1个好方法。

我无法获得editedVideoPath的完整NSURL,这是我的代码:

// GLOBAL VARIABLES
    var videoPath = String()
    var videoURL = NSURL()


// Video Editor delegate
func videoEditorController(editor: UIVideoEditorController, didSaveEditedVideoToPath editedVideoPath: String) {
        if saveToPhotoLibrary {
            if UIVideoAtPathIsCompatibleWithSavedPhotosAlbum(editedVideoPath) {
                UISaveVideoAtPathToSavedPhotosAlbum(editedVideoPath, self, nil, nil)
            }
            print("SAVED TO PHOTO LIBRARY AT: \(editedVideoPath)")
         }

        videoPath = editedVideoPath
        videoURL = NSURL(string: editedVideoPath)!
        print("VIDEO PATH: \(videoPath)")
        print("VIDEO URL: \(videoURL)")
        dismissViewControllerAnimated(true, completion: nil)
    }

问题是我无法从videoPath字符串中获取完整的NSURL ,这是XCode控制台输出的内容:

VIDEO PATH: /private/var/mobile/Containers/Data/Application/D7536AD4-353A-48CA-8F31-2D78F9F10730/tmp/trim.BFF7D20F-138A-46A2-A58E-76736AF7343E.MOV
VIDEO URL: /private/var/mobile/Containers/Data/Application/D7536AD4-353A-48CA-8F31-2D78F9F10730/tmp/trim.BFF7D20F-138A-46A2-A58E-76 ... 343E.MOV

如您所见,VIDEO URL几乎在其末尾获得点,而VideoPath字符串是正确的。这是一个非常有线的问题,我从未在此NSURL语句中遇到过:

    videoURL = NSURL(string: editedVideoPath)!

由于我需要将编辑后的视频上传到Web服务器,因此需要完整的正确URL。我以为是print()的问题,但是如果我尝试抓住videoURL, XCode会告诉我它为nil,所以print()函数会说实话:(

我在此处搜索关于stackoverflow的信息,但没有成功。

希望有人可以帮助,谢谢!



1> ayaio..:

由于您使用的是文件路径,因此您想使用

NSURL(fileURLWithPath: editedVideoPath)

代替

NSURL(string: editedVideoPath)

推荐阅读
小妖694_807
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有