如何在iOS应用中集成视频和照片功能?

时间:2018-11-24 03:56:01

标签: ios iphone swift

我正在开发基本的相机应用程序。我已经制作了视频部分和照片部分,现在需要集成。我应该将它们都集成到同一个类/文件中吗?还是应该将它们分散到两个单独的VC(ViewController)中?

那将如何工作?

3 个答案:

答案 0 :(得分:1)

最简单的方法(以及我的操作方式)是先构建摄像头功能,然后在两个单独的类中构建视频捕获功能。完成此操作后,您会发现许多必需的协议和功能将重叠。从这一点来看,这很简单,您要做的就是将视频类中的粘贴复制到照片中。照片中包含更多内容,因此您应该从那里开始。例如:setupDevice()setupInputOutput()应该重叠。因此,结论是:是的,我建议集成到一个类中并设置2个扩展:一个用于AVFoundation Video协议,另一个用于Photo。

快速提示:设置photoOutputmovieOutput,此外capture sessionpreviewLayer都应适用,因此仅成为每个。我还以Snapchat风格的方式构建了我的cam。

如果需要其他指导,请告诉我。

答案 1 :(得分:-1)

您可以将UIImagePickerController用于视频和图像。

lazy var picker: UIImagePickerController = {
    let pickerView = UIImagePickerController()
    pickerView.mediaTypes = [kUTTypeMovie as String, kUTTypeImage as String]
    pickerView.sourceType = .camera
    pickerView.videoQuality = .type640x480
    return pickerView
}()

我已经完成以下工作: -录制视频并将其保存到相册。还将其发送到服务器。 -捕获照片并将其发送到服务器。

答案 2 :(得分:-1)

if  UIImagePickerController.isSourceTypeAvailable(UIImagePickerControllerSourceType.camera) {
        let img = UIImagePickerController()
        img.delegate = self
        img.sourceType = UIImagePickerControllerSourceType.camera;
        img.mediaTypes = [kUTTypeImage as String]; //whatever u want type
        img.allowsEditing = true
        rootNavigationController?.present(img, animated: true, completion: nil)
    }