2014-09-17 2 views
1

У меня есть сеанс записи, но когда я меняю камеру, это сохраняет только первое видео с первой камеры, а потом не сэкономить, как я могу это сделать?как переключить сеанс записи камеры AV-интерфейс?

Я использую эту функцию для переключения и загрузить новую камеру:

- (IBAction)switchCameras:(id)sender 

AVCaptureDevicePosition desiredPosition; 
if (isUsingFrontFacingCamera) 
    desiredPosition = AVCaptureDevicePositionBack; 
else 
    desiredPosition = AVCaptureDevicePositionFront; 

for (AVCaptureDevice *d in [AVCaptureDevice devicesWithMediaType:AVMediaTypeVideo]) { 
    if ([d position] == desiredPosition) { 
     [[previewLayer session] beginConfiguration]; 
     AVCaptureDeviceInput *input = [AVCaptureDeviceInput deviceInputWithDevice:d error:nil]; 
     for (AVCaptureInput *oldInput in [[previewLayer session] inputs]) { 
      [[previewLayer session] removeInput:oldInput]; 
     } 
     [[previewLayer session] addInput:input]; 
     [[previewLayer session] commitConfiguration]; 
     break; 
    } 
} 
isUsingFrontFacingCamera = !isUsingFrontFacingCamera; 
} 

Спасибо!

+0

Возможно ли это? Я могу показать вторую камеру в файле предварительного просмотра, но только сохранить сначала ... Может ли быть добавлен новый вход, сеанс закрыт? – user3745888

ответ

1

После удаления старого AVCaptureDeviceInput и добавления нового AVCaptureDeviceInput вам может понадобиться заново создать AVCaptureConnection, отрегулировав поток с нового входа захвата на выход захвата.

Смежные вопросы