首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >AVCaptureMovieFileOutput minFreeDiskSpaceLimit不工作

AVCaptureMovieFileOutput minFreeDiskSpaceLimit不工作
EN

Stack Overflow用户
提问于 2016-01-09 14:47:48
回答 1查看 478关注 0票数 1

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

代码语言:javascript
复制
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.4MB的空间。为什么它不返回假?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-01-10 01:39:26

来自AVCaptureOutput头文件,在minFreeDiskSpaceLimit

指定在给定卷上继续记录所需的最小空闲空间(以字节为单位)。

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

因此,minFreeDiskSpaceLimit定义了继续记录的条件,并且错误是通过finish委托方法报告的,这一事实向我表明,您必须首先启动捕获会话才能使用它。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34694879

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档