isVideoOrientationSupported始终返回NO AVCaptureConnection

时间:2016-07-03 01:25:50

标签: ios avcapturesession avcapture

我正在使用AVCaptureMetadataOutput来检测iOS上的面孔,而我正在尝试在用户旋转设备后设置视频的方向。但是,似乎我不能这样做,因为每当我在isVideoOrientationSupported所拥有的唯一AVCaptureConnection上调用getter AVCaptureMetadataOutput时,它总是返回false。我已经在可以想象的每个地方尝试了下面的代码,但它总是返回no。有没有办法为我的元数据设置方向?

AVCaptureConnection *conn = [self.metadataOutput connectionWithMediaType:AVMediaTypeMetadataObject];

    NSLog(@"%@",self.metadataOutput.connections);

    if (!conn) {
        NSLog(@"NULL CONNECTION OBJ");
    }

    if ([conn isVideoOrientationSupported]) {
        NSLog(@"Supported!");
    }

    else {
        NSLog(@"Not supported");
    }

1 个答案:

答案 0 :(得分:0)

Apple工程师在Apple Developer论坛上为我解决了这个问题。这是link。这是他们的回应:

  

如果您要翻译元数据对象'协调空间   另一个AVCaptureOutput的那个(例如   AVCaptureVideoDataOutput),使用   - (AVMetadataObject *)transformedMetadataObjectForMetadataObject:(AVMetadataObject *)metadataObject connection:(AVCaptureConnection *)connection NS_AVAILABLE_IOS(6_0);它位于AVCaptureOutput.h中。如果你想   将坐标转换为视频的坐标空间   预览图层,使用AVCaptureVideoPreviewLayer.h' s   - (AVMetadataObject *)transformedMetadataObjectForMetadataObject:(AVMetadataObject *)metadataObject NS_AVAILABLE_IOS(6_0);