Captura y Publicación de Videos en iOS con Firebase

Clase 37 de 52Curso de Desarrollo de Apps para iOS

Resumen

¿Cómo preparar la aplicación para grabar videos?

Para habilitar la funcionalidad de grabar videos en una aplicación iOS, es fundamental comenzar con la configuración adecuada de permisos. Es decir, debemos asegurarnos de que el usuario autoriza el uso del micrófono, ya que sin esto no se capturará el audio al grabar videos.

¿Cómo se configuran los permisos?

En el archivo info.plist, debes asegurarte de solicitar los permisos correctos para el uso del micrófono. La clave que necesitas es NSMicrophoneUsageDescription, donde puedes especificar un mensaje para el usuario, como "Usaremos tu micrófono para grabar el video del tweet."

Implementación del soporte para video en la aplicación

Una vez establecido el permiso, el siguiente paso es modificar el controlador que se encargará de la grabación y manejo del video.

¿Qué bibliotecas son necesarias?

Para trabajar con videos en iOS, es necesario importar varias bibliotecas:

  • ABFoundation
  • ABKit
  • MobileCoreServices

Estas librerías permiten gestionar aspectos del reproductor de videos y el acceso a la cámara.

¿Cómo se configura la apertura de la cámara en modo video?

Es esencial modificar el método de apertura de la cámara para que también soporte grabación de video. Esto implica crear un nuevo método, por ejemplo, openVideoCamera, que ajuste los parámetros necesarios para el video.

func openVideoCamera() {
    if UIImagePickerController.isSourceTypeAvailable(.camera) {
        let videoRecorder = UIImagePickerController()
        videoRecorder.delegate = self
        videoRecorder.sourceType = .camera
        videoRecorder.mediaTypes = [kUTTypeMovie as String]
        videoRecorder.cameraCaptureMode = .video
        videoRecorder.videoQuality = .typeMedium
        videoRecorder.videoMaximumDuration = 5.0 
        present(videoRecorder, animated: true, completion: nil)
    } else {
        print("Camera is not available")
    }
}

¿Cómo se reproduce el video en la aplicación?

Para ver el video grabado, es crucial implementar un reproductor de video en la aplicación.

¿Cómo se captura la URL del video grabado?

Durante la grabación, es vital almacenar la URL del video para poder gestionar su reproducción y subida a la nube posteriormente.

if let recordedVideoURL = info[UIImagePickerController.InfoKey.mediaURL] as? URL {
    self.currentVideoURL = recordedVideoURL
}

¿Cómo se crea un reproductor de video?

Con la URL capturada, puedes usar el AVPlayer para reproducir el video.

let videoPlayer = AVPlayer(url: currentVideoURL!)
let videoPlayerController = AVPlayerViewController()
videoPlayerController.player = videoPlayer
present(videoPlayerController, animated: true) {
    videoPlayer.play()
}

Este enfoque muestra el control de reproducción nativo de iOS, ofreciendo una experiencia de usuario fluida y compatible.

Próximos pasos: subir el video a Firebase

Con el video ya capturado y reproducido exitosamente, el siguiente paso es subirlo a Firebase. Esto permitirá obtener una URL de descarga que podrá ser vinculada en los posts de Platzi Tweets. Continúa perfeccionando tus aplicaciones móviles y atrévete a explorar todas las herramientas que iOS ofrece. ¡El progreso constante te llevará muy lejos!