gpt4 book ai didi

ios - AVCaptureMovieFileOutput minFreeDiskSpaceLimit 不工作

转载 作者:行者123 更新时间:2023-11-28 08:48:24 26 4
gpt4 key购买 nike

我试图阻止 AVCaptureSession 在没有足够的磁盘空间时添加 AVCaptureMovieFileOutput。我在 viewDidload 中使用以下代码进行测试:

let session = AVCaptureSession()
session.sessionPreset = AVCaptureSessionPresetHigh

let movieFileOutput = AVCaptureMovieFileOutput()
movieFileOutput.minFreeDiskSpaceLimit = 1024 * 1024 * 100 // 100 MB
movieFileOutput.maxRecordedDuration = CMTimeMakeWithSeconds(45, Int32(NSEC_PER_SEC)) // 45 sec

if (session.canAddOutput(movieFileOutput)) {
print("Output added")
session.addOutput(movieFileOutput)
} else {
print("Not enough disk space??")
}

但不知何故,函数“canAddOutput”总是返回 true。我正在真实设备上测试它,只剩下 69.4 MB 空间。为什么不返回 false?

最佳答案

来自 AVCaptureOutput 头文件,在 minFreeDiskSpaceLimit 上:

Specifies the minimum amount of free space, in bytes, required for recording to continue on a given volume.

错误通过 captureOutput:didFinishRecordingToOutputFileAtURL:fromConnections:error: 委托(delegate)方法报告。

因此,minFreeDiskSpaceLimit 定义了continued 记录的条件,并且通过完成委托(delegate)方法报告了错误,这对我来说意味着您必须首先启动捕获 session 才能使用它。

关于ios - AVCaptureMovieFileOutput minFreeDiskSpaceLimit 不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34694879/

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