0

我一直无法使用UIImagePickerController. 我可以捕捉静态照片甚至视频(这不是我的场景,但我只是为了确保而检查过),但相机无法捕捉实时照片。文档建议它应该(来源):

要获取用于显示的实时照片的运动和声音内容(使用 PHLivePhotoView 类),请在配置图像选择器控制器时在允许的媒体类型中包含 kUTTypeImage 和 kUTTypeLivePhoto 标识符。当用户选择或捕捉一张 Live Photo 时,editingInfo 字典包含 livePhoto 键,并带有照片的 PHLivePhoto 表示作为相应的值。

我已经设置了我的控制器:

let camera = UIImagePickerController()
camera.sourceType = .camera
camera.mediaTypes = [UTType.image.identifier, UTType.livePhoto.identifier]
camera.delegate = context.coordinator

在代表中,我检查了实时照片:

func imagePickerController(_ picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [UIImagePickerController.InfoKey : Any]) {
    if let live = info[.livePhoto] as? PHLivePhoto {
        // handle live photo
    } else if let takenImage = info[.originalImage] as? UIImage, let metadata = info[.mediaMetadata] as? [AnyHashable:Any] {
        // handle still photo
    }
}

但我从来没有得到实时照片。

我已经尝试增加它需要麦克风权限NSMicrophoneUsageDescription的想法,但这并没有帮助。info.plist当然,我已经添加了NSCameraUsageDescription授予相机权限。

有没有人使用 成功捕获实时照片UIImagePickerController

4

0 回答 0