Colección de citas famosas - Slogan de motivación - ¿Cómo utilizar replaykit en ios10?

¿Cómo utilizar replaykit en ios10?

Introducción a ReplayKit

En iOS 9, ReplayKit es un marco completamente nuevo, que se puede decir que es una buena noticia para los desarrolladores de juegos. Permite a los jugadores registrar más cómodamente el progreso o los datos del juego y compartir funciones. Lo que es aún más poderoso es que ReplayKit proporciona a los usuarios (reproductores) una interfaz interactiva con todas las funciones, que los usuarios pueden usar para editar o crear sus propios videoclips.

ReplayKit puede producir grabaciones de vídeo de alta definición sin mucho consumo de energía ni pérdida de rendimiento. ReplayKit admite dispositivos con chips A7 o superiores y sistemas operativos iOS 9 o superiores.

¿Qué necesito preparar?

Este tutorial requiere que su versión de Xcode sea superior a 7.0 y que OS X sea superior a Yosemite (10.10.x). Si desea experimentar este proyecto simple en su dispositivo, asegúrese de que su dispositivo pueda cumplir con los requisitos de hardware y software de ReplayKit. Por supuesto, también debe descargar el código fuente del proyecto en GitHub.

¿Iniciar grabación?

El marco ReplayKit proporciona la clase RPScreenRecorder y el método singletonsharedRecorder() para que puedas grabar juegos. Este objeto de instancia es responsable de verificar las capacidades de grabación del dispositivo, incluido iniciar, detener y descartar la grabación, y opcionalmente puede habilitar el micrófono para que los jugadores graben comentarios de voz en vivo.

Abra el archivo GameViewController.swift en el proyecto inicial descargado de GitHub. En la parte superior del archivo, importe el marco ReplayKit.

Compila y ejecuta tu aplicación e intenta presionar el botón verde. Verás un efecto de partículas similar al fuego. Si hace clic para comenzar a grabar, verá una advertencia como esta, como se muestra a continuación:

Tenga en cuenta que esta advertencia aparecerá cada vez que comience a grabar. Sin embargo, una vez que el usuario selecciona una preferencia, el sistema recordará esta selección durante los siguientes 8 minutos.

Después de seleccionar esta opción, el botón "Iniciar grabación" se convertirá en un botón rojo "Detener grabación".

Creamos un UIAlertController, el cual tiene dos acciones, una es descartar registros y la otra es revisar registros. Si elige descartar el registro, llame a descartarRecordingWithHandler(_:). Tenga en cuenta que este método solo se puede llamar después de que el registro se haya completado correctamente. Si lo llama durante la grabación, el sistema no arrojará ningún error, pero no se descartará ningún registro.

Al seleccionar el registro de revisión, presentaremos la vista previaController, que es una instancia de la clase RPPreviewController, devuelta a nosotros desde el bloque de devolución de llamada del método stopcordingwithhandler(_:), para que podamos revisar, editar o compartir el registro. Esta instancia del controlador de vista previaController es la única instancia que tiene acceso al archivo de video generado por ReplayKit, y su función es guardar/compartir la grabación.

Finalmente, ¡no olvides restaurar el botón de inicio de grabación para comenzar otra grabación nuevamente!

Compile y ejecute su aplicación, luego haga clic en Iniciar grabación. Una vez que presione el botón Detener grabación, verá la siguiente ventana emergente:

Si selecciona la opción de visualización, aparecerá el siguiente controlador de vista:

Aquí puede editar su video y haga clic en el botón Guardar para elegir transferirlo a sus Fotos. Por supuesto, también puedes hacer clic en el botón compartir en la esquina inferior izquierda para compartir tu video grabado.

Cabe señalar que ya sea por motivos de diseño o por un error en el marco de ReplayKit, al guardar en "Fotos", se guarda directamente sin confirmación.

Excluir elementos de la interfaz

Te habrás dado cuenta de que los botones superior e inferior son visibles en la grabación de la aplicación y se incluyen en la grabación de vídeo final. Cuando RepalyKit registra su aplicación, registrará todas las vistas representadas por la aplicación en UIWindow y no registrará ningún detalle sin ocultación.

Afortunadamente, RepalyKit puede dejar de grabar en la interfaz cuando la llamada entrante es sí o el usuario ingresa una entrada.

Los elementos de la interfaz de usuario están excluidos de la grabación y debes colocarlos en una instancia UIWindow separada. Examinemos cómo funciona. Agregue una propiedad buttonWindow en la clase GameViewController, ¡el tipo es UIWindow!

La única diferencia entre el nuevo controlador de vista y el anterior es la parte interactiva en la parte superior de la ventana. Asegura la correcta visualización de los controles interactivos y la correcta ejecución de las interacciones del usuario.

Ejecute su aplicación nuevamente y haga un nuevo registro, encontrará que los botones de la interfaz están ocultos:

La idea general

Al final, use RepalyKit Hay algunos puntos clave a tener en cuenta.

Cada aplicación sólo puede almacenar un registro a la vez. Una vez que comience a grabar un nuevo registro, ¡el nuevo registro sobrescribirá automáticamente el registro anterior si ya existe!

Deseche los registros innecesarios con prontitud. Asegúrese de que no haya demasiados datos de video innecesarios ocupando el espacio de almacenamiento local del dispositivo. Una vez que se considere que un registro no tiene valor según el comportamiento del usuario, se descartará a tiempo. En este tutorial, cuando el usuario no necesita grabar, el tutorial también proporciona la mejor lógica de implementación, que es descartar.

Muestra el indicador de grabación. Como se explica en este tutorial, un indicador de pantalla puede avisar al usuario si se está grabando un vídeo, especialmente cuando se utiliza el micrófono del dispositivo al mismo tiempo, para maximizar la experiencia del usuario.

Elige cuidadosamente los elementos a excluir de la interfaz de interacción grabada por el usuario. Coloca los elementos de la interfaz de selección en una ventana separada, incluidos los controles de selección o aquellos que se desvían del juego en sí. Por ejemplo: indicador de grabación, control virtual o botón de menú.

No puedes acceder directamente al archivo de vídeo final. Los datos almacenados en los registros de ReplayKit solo se pueden hacer visibles a través del controlador de vista previaviewViewController. Sin embargo, debido a la protección de la privacidad del usuario por parte de Apple, las aplicaciones deben acceder a los datos registrados de ReplayKit. Si desea cargar estos registros en su propio servidor, deberá crear un controlador de vista de extensión para él y presentarlo desdepreviewViewController.

ReplayKit también admite controles parentales. Incluso si no se ejecuta ningún otro proceso en segundo plano, la función de grabación sigue estando autorizada por los controles parentales. Esto significa que debes asegurarte de verificar si la función está permitida cuando comienza la grabación.

Finalmente, si bien Apple está lista para permitir que los desarrolladores de juegos usen ReplayKit para compartir sus juegos, puedes usar ReplayKit en cualquier aplicación de Apple siempre que cumpla con los requisitos de Xcode 7+ y iOS 9+. Apoyo mucho el excelente marco de trabajo de ReplayKit y me alegra ver que más desarrolladores lo utilizan para crear más y mejores aplicaciones de Apple.