簡體   English   中英

類型不符合協議'AVCaptureFileOutputRecordingDelegate'

[英]Type does not conform to protocol 'AVCaptureFileOutputRecordingDelegate'

我正在嘗試使用AVCaptureMovieFileOutput.startRecordingToOutputFileURL將音頻錄制到文件中,並且該函數的語法要求輸入“AVCaptureFileOutputRecordingDelegate”類型的變量。 我從這個站點看到的所有幫助都表明你需要使一個類成為AVCaptureFileOutputRecordingDelegate和NSObject的擴展。

問題是,我總是得到錯誤: 類型'AVRecordDevices'不符合協議'AVCaptureFileOutputRecordingDelegate'

我如何解決它?

有錯誤的類

PS我正在為OS X開發,如果這意味着在這種情況下。

更新了Swift 4.0的答案:

Apple文檔

import AVFoundation

extension ViewController: AVCaptureFileOutputRecordingDelegate {
    func fileOutput(_ output: AVCaptureFileOutput,
                    didFinishRecordingTo outputFileURL: URL,
                    from connections: [AVCaptureConnection],
                    error: Error?) {
        // Handle output
    }
}

Swift 3.0的原始答案:

func capture(_ captureOutput: AVCaptureFileOutput!, 
    didFinishRecordingToOutputFileAt outputFileURL: URL!, 
    fromConnections connections: [Any]!, 
    error: Error!) { }

這意味着您沒有在視圖控制器中實現正確的方法:

通過仔細研究蘋果的文檔,你會發現必須至少有這樣的:

  func captureOutput(captureOutput: AVCaptureFileOutput!, didFinishRecordingToOutputFileAtURL outputFileURL: NSURL!, fromConnections connections: [AnyObject]!, error: NSError!)
    {
    }

https://developer.apple.com/library/ios/documentation/AVFoundation/Reference/AVCaptureFileOutputRecordingDelegate_Protocol/

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM