如何在ios開發(fā)中,使用相機(jī)時(shí)切換攝像頭
//先聲明兩個(gè)屬性,遵循兩個(gè)協(xié)議(協(xié)議可能非必要,視具體開發(fā)而定)
// <AVCaptureVideoDataOutputSampleBufferDelegate,AVCaptureAudioDataOutputSampleBufferDelegate>
// @property (nonatomic, strong) AVCaptureSession *captureSession;
// @property (nonatomic, strong) AVCaptureDeviceInput *currentVideoDeviceInput;
// 1.獲取當(dāng)前設(shè)備方向
AVCaptureDevicePosition curPosition = _currentVideoDeviceInput.device.position;
// 2.獲取需要改變的方向
AVCaptureDevicePosition togglePosition = curPosition == AVCaptureDevicePositionFront?AVCaptureDevicePositionBack:AVCaptureDevicePositionFront;
// 3.獲取改變的攝像頭設(shè)備
AVCaptureDevice *toggleDevice = [self getVideoDevice:togglePosition];
// 4.獲取改變的攝像頭輸入設(shè)備
AVCaptureDeviceInput *toggleDeviceInput = [AVCaptureDeviceInput deviceInputWithDevice:toggleDevice error:nil];
// 5.移除之前攝像頭輸入設(shè)備
[_captureSession removeInput:_currentVideoDeviceInput];
// 6.添加新的攝像頭輸入設(shè)備
[_captureSession addInput:toggleDeviceInput];
// 7.記錄當(dāng)前攝像頭輸入設(shè)備
_currentVideoDeviceInput = toggleDeviceInput;
最后編輯于 :
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者