AVFoundation框架主要使用如下類:
(1) AVCaptureDevice:該對象代表物理輸入設備,包括攝像頭和麥克風。
(2) AVCaptureSession:該對象負責吧AVCaptureDevice捕捉得到的視頻或聲音數據輸出到輸出設備中。
(3) AVCaptureDeviceInput:它是AVCaptureInput的子類,開發者使用該對象從AVCaptureDevice設備獲取數據。
(4) AVCaptureScreenInput:它是AVCaptureInput的子類,開發者使用該對象從屏幕獲取數據。
(5) AVCaptureAudioDataOutput、AVCaptureAudioPreviewOutput、AVCaptureFileOutput、AVCaptureStillImageOutput、AVCaptureVideoDataOutput:它們都是AV CaptureOutput的子類,用於接受各種數據。
(6) AVCaptureAudioFileOutput、AVCaptureMovieFileOutput:他們是AVCapture FileOutput的子類,分別代表輸出到音頻文件、電影文件的輸出端。
(7) AVCaptureVideoPreviewLayer:該對象是CALayer的子類,開發者只要創建它的實例,併爲它設置ACCaptureSession,就可以非常方便地用它來實現拍攝預覽。
使用AVFoundation實現拍照和錄製視頻的大致步驟如下:
(1) 使用AVCaptureDevice的靜態方法獲取設備。
(2) 利用AVCaptureDevice初始化AVCaptureDeviceInput對象。
(3) 初始化輸出端。
(4) 創建AVCaptureSession對象。
(5) 將捕捉的數據輸出到指定文件。