在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的外部附件。
我已经使用外部附件框架测试了iPhone设备的MFi身份验证和识别以及MP4比特流。
但是,我不知道如何使用外部附件(而不是内置摄像头和麦克风)中的比特流在iPhone的UI视图上显示预览。 在这种问题上有专家吗?