gpt4 book ai didi

ios - 从本地路径播放视频

转载 作者:行者123 更新时间:2023-11-30 13:54:16 25 4
gpt4 key购买 nike

我创建了一个应用程序,可以录制视频并将其保存到相册中,效果很好。但是,当我尝试使用 Player 来播放它时库,看起来很简单它不播放视频。我已经尝试使用示例网址,效果很好。为什么它不适合我的路径,即使它已保存并显示在相册中。

在下面的代码中,我将视频保存到特定路径,完成后,我将其设置为 Player 库中的 NSURL。什么会触发这个?它是否在后台保存视频或者什么可能触发此行为?

视频录制已结束

        if sender.state == UIGestureRecognizerState.Ended {

videoOutput.stopRecording()
let documentsPath = NSSearchPathForDirectoriesInDomains(.DocumentDirectory, .UserDomainMask, true)[0] as NSString
UISaveVideoAtPathToSavedPhotosAlbum("\(documentsPath)/\(randomVideoFileName).mov", nil, nil, nil)


previewVideoView.setUrl(NSURL(fileURLWithPath: "\(documentsPath)/\(randomVideoFileName).mov"))
previewVideoView.view.hidden = false
previewVideoView.playFromBeginning()


}

我什至尝试使用此代码检查路径是否存在并且它存在?

        let filePath = "\(documentsPath)/\(randomVideoFileName).mov"
if (NSFileManager.defaultManager().fileExistsAtPath(filePath))
{
print("Exists")
}

最佳答案

我认为这里缺少的是你没有等到视频完全保存到相册中。尝试使回调中的所有 setter 如下所示:

videoOutput.stopRecording() 之后,开始保存视频,并添加回调方法以在完成时收到提醒(有关详细信息,请参阅 documentation ):

UISaveVideoAtPathToSavedPhotosAlbum("\(documentsPath)/\(randomVideoFileName).mov", self, "image:didFinishSavingWithError:contextInfo:", nil)`

然后添加这个方法:

func image(image: UIImage, didFinishSavingWithError error: NSErrorPointer, contextInfo:UnsafePointer<Void>) {

if error != nil {
// Report error to user
return;
}
dispatch_async(dispatch_get_main_queue(),{

let documentsPath = NSSearchPathForDirectoriesInDomains(.DocumentDirectory, .UserDomainMask, true)[0] as NSString

previewVideoView.setUrl(NSURL(fileURLWithPath: "\(documentsPath)/\(randomVideoFileName).mov"))
previewVideoView.view.hidden = false
previewVideoView.playFromBeginning()

})
}

关于ios - 从本地路径播放视频,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33849081/

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