首页 > 解决方案 > 检查 Apple 设备的相机是否支持慢动作?

问题描述

如何检查苹果设备(至少是 iPhone 和 iPad)是否支持慢动作录制?目前,我正在使用屏幕尺寸来检查 iPhone,因此仍然可以使用 iPhone 5s 和 iPhone SE。对于 iPad,我面临着类似的问题。

我正在使用以下代码,但这似乎不起作用

NSArray *cameraDevices = [AVCaptureDevice devicesWithMediaType: AVMediaTypeVideo];

    for (AVCaptureDevice *camera in cameraDevices) {
        if ([camera position] == AVCaptureDevicePositionBack) {
            if ([camera activeVideoMaxFrameDuration].timescale >= 120) {
                [self showChooseAlert];
            } else {
                [self performSegueWithIdentifier:@"startVideoRecording" sender:self];
            }
        }
    }

标签: iosobjective-ccamera

解决方案


检查以下代码:

NSArray *cameraDevices = [AVCaptureDevice devicesWithMediaType: AVMediaTypeVideo];
AVCaptureDevice *currentDevice;

for (AVCaptureDevice *camera in cameraDevices) {
    if ([camera position] == AVCaptureDevicePositionBack) {
        currentDevice = camera;
    }
}

for (AVCaptureDeviceFormat *format in currentDevice.formats)
{
    NSArray *ranges = format.videoSupportedFrameRateRanges;
    AVFrameRateRange *frameRates = ranges[0];

    if (frameRates.maxFrameRate >= 120) {
        // Do Slow Motion stuff
    }
}

推荐阅读