我正在开发一个iOS项目,该项目使用AVAssetWriter和AVAssetWriterInput将音频和视频录制到文件中。当视频分辨率限制在720x1280时,一切似乎都能正常工作。我现在正试图利用AVCaptureDeviceFormats获得更新iOS设备上可用的更高分辨率。
使用设备上提供的任何AVCaptureDeviceFormats,视频继续正常工作。 但是,音频不起作用。
我已将此跟踪到我的音频AVCaptureConnection的active
property,对于最高分辨率格式为NO
,在我记录时看起来像这样:
<AVCaptureConnection: 0x16f62130 [type:soun][enabled:1][active:0]>
此外,当音频连接未激活时,我的didOutputSampleBuffer
delegate callback未使用音频数据调用。
我的问题:
示例:
iPhone6背面摄像头的最高分辨率AVCaptureFormats:
iPhone6前置摄像头的最高分辨率AVCaptureFormats:
以下是我用来设置活动格式的代码:
if ([self.camera lockForConfiguration:nil])
{
self.camera.activeFormat = format;
[self.camera unlockForConfiguration];
}