Tag: 高分辨率

为什么我的audioAVCaptureConnection不能用于最高分辨率格式?

我正在使用AVAssetWriter和AVAssetWriterInput来loggingaudio和video文件的iOS项目。 当video分辨率限制在720×1280时,一切似乎都正常。 我现在正试图利用AVCaptureDeviceFormats获得更高分辨率的iOS设备。 使用设备上可用的任何AVCaptureDeviceFormats,video继续正常工作。 但是,audio不起作用。 我已经跟踪到了我的audioAVCaptureConnection的active属性 ,这是最高分辨率格式的NO ,当我login时看起来像这样: <AVCaptureConnection: 0x16f62130 [type:soun][enabled:1][active:0]> 另外,当audio连接不活动时,我的didOutputSampleBuffer委托callback不会与audio数据一起被调用。 我的问题: 为什么audioAVCaptureConnection对低分辨率格式有效,但对最高分辨率格式不适用? video分辨率设置为最高时是否可以录制audio? 如果是这样,怎么样? 例: iPhone6背面摄像头的最高分辨率AVCaptureFormat: 720×1280,30 FPS(audio连接有效) 720×1280,240 FPS(audio连接有效) 1080×1920,30 FPS(audio连接活动) 1080×1920,60 FPS(audio连接活动) 1936×2592,30 FPS (audio连接无效) 2448×3264,30 FPS (audio连接无效) iPhone6前置摄像头的最高分辨率AVCaptureFormat: 720×1280,60 FPS(audio连接有效) 960×1280,60 FPS (audio连接无效) 以下是我用来设置活动格式的代码: if ([self.camera lockForConfiguration:nil]) { self.camera.activeFormat = format; [self.camera unlockForConfiguration]; }