Как использовать любой видео поток от внешнего аксессуара для предварительного просмотра? - PullRequest
0 голосов
/ 02 октября 2018

В iOS, для предварительного просмотра видео я обнаружил, что должен использовать AVCaptureVideoPreviewLayer с экземпляром AVCaptureSession.Например,

AVCaptureSession *captureSession = <#Get a capture session>;
AVCaptureVideoPreviewLayer *previewLayer = [AVCaptureVideoPreviewLayer layerWithSession:captureSession];
UIView *aView = <#The view in which to present the layer#>;
previewLayer.frame = aView.bounds;
[aView.layer addSublayer:previewLayer];

И AVCaptureSession нужно немного AVCaptureDevices и AVCaptureDeviceInputs

Например,

AVCaptureSession *captureSession = [[AVCaptureSession alloc] init];
AVCaptureDevice *audioCaptureDevice = [AVCaptureDevice defaultDeviceWithMediaType:AVMediaTypeAudio];
NSError *error = nil;
AVCaptureDeviceInput *audioInput = [AVCaptureDeviceInput deviceInputWithDevice:audioCaptureDevice error:&error];
if (audioInput) {
     [captureSession addInput:audioInput];
}
else {
     // Handle the failure.
} 

Я ссылался на документы по разработке Apple дляприведенные выше примеры.Но независимо от того, являются ли устройства аудио или видео, во всех примерах используется только встроенная камера и микрофон iPhone / iPad.

Мой проект использует не встроенную камеру и микрофон, а внешние аксессуары, которые поддерживают MP4 и уже совместимы с MFi.

Я уже тестировал аутентификацию и идентификацию MFi, а также поток битов MP4, поступающий на устройства iPhone с использованием внешней инфраструктуры аксессуаров.

Но я понятия не имею, как я могу использовать поток битов от внешнего аксессуара (вместо встроенной камеры и микрофона) для отображения предварительного просмотра в представлении пользовательского интерфейса iPhone.Есть ли эксперт в такого рода проблем?

...