'AVCaptureFileOutput'类型的值没有成员'委托'
文档https://developer.apple.com/reference/avfoundation/avcapturefileoutput表示存在AVCaptureFileOutput的委托属性。'AVCaptureFileOutput'类型的值没有成员'委托'
但下面的代码
let vfo = AVCaptureFileOutput()
vfo.delegate = self
给错误“类型‘AVCaptureFileOutput’的价值还没有成员‘代表’”
我期待使用AVCaptureFileOutputDelegate的AVCaptureMovieFileOutput实例。
任何指针都会有帮助。
请按照您引用的页面上的链接delegate
property(或在头文件中查看#if
),您会注意到该属性仅适用于macOS,而不适用于iOS。因此,当你在一个针对iOS的项目中时,该属性不存在。
的iOS不会让你既接受捕获和记录期间样本缓冲区使用相同的会话的文件 - 你可以有一个AVCaptureVideoDataOutput
或AVCaptureMovieFileOutput
,但不能同时使用。如果您只想要委托有关电影文件捕获进度的回调,请使用startRecording(toOutputFileURL:recordingDelegate:)
并改为使用AVCaptureFileOutputRecordingDelegate
。如果您想要采样缓冲区,请使用AVCaptureVideoDataOutput
接收它们,使用AVAssetWriter
获取较低级别的文件输出。
谢谢指向AVAssetWriter的指针。我能找到RosyWriter样品https://developer.apple.com/library/content/samplecode/RosyWriter/Introduction/Intro.html。修改后的CaptureOutput:didOutputSampleBuffer来捕获音频averagePowerLevel做了录制电影和获取同步音频电平的技巧。
但是有没有更多的使用它的例子呢?我试图去除视频处理的渲染器,只能打破样本。
我只是试图用音频录制视频并同时获取音频功率级别。有没有允许这个类的组合? –