Sobre el proyecto
Chewie es un paquete de interfaz de usuario para reproductor de video en Flutter construido sobre el plugin de nivel inferior video_player. Las aplicaciones inicializan y configuran un VideoPlayerController, lo pasan a un ChewieController junto con opciones de reproducción y luego muestran un widget Chewie. El README enfatiza que Chewie es solo la capa de interfaz: los fallos de reproducción y las PlatformExceptions originadas en video_player están fuera de su responsabilidad. Ambos controladores deben eliminarse después de su uso.
El paquete proporciona pieles de control para Material, Material de escritorio y Cupertino. Sus características documentadas incluyen reproducción automática, bucle, posiciones de inicio configurables, interfaz de transmisión en vivo, marcadores de posición, colores de barra de progreso personalizados, superposiciones personalizadas, manejo de ruta y orientación de pantalla completa, gestión de superposiciones del sistema, control de bloqueo de activación/sueño, widgets de error personalizados y controles personalizados. La hoja de opciones normalmente expone la velocidad de reproducción y los subtítulos, pero las aplicaciones pueden agregar entradas OptionItem localizadas o reemplazar completamente la hoja con optionsBuilder. La opción pauseOnBackgroundToggle alterna la reproducción al tocar el área de video.
Los subtítulos se proporcionan como una lista de objetos Subtitle con campos de índice, inicio, fin y texto. Pueden mostrarse por defecto, estilizarse con SubtitleStyle o renderizarse completamente a través de subtitleBuilder. Chewie puede renderizar marcas comunes en línea de WebVTT/SubRip, como etiquetas de negrita, cursiva, subrayado y color de fuente. Las etiquetas de señal no compatibles se eliminan mientras se conserva su texto, los escapes se decodifican y el análisis es intencionalmente indulgente; el renderizado de marcas se puede desactivar.
Los capítulos se proporcionan como una lista de objetos ChewieChapter en orden ascendente de tiempo, produciendo barras de progreso segmentadas con títulos de capítulo durante el desplazamiento o la búsqueda. El soporte de transmisión proporciona el botón de transmisión, el selector de dispositivos, la superposición de transmisión, la transferencia local a remota y el enrutamiento de control, pero deliberadamente no incluye un SDK de emisor de Cast. Las aplicaciones implementan ChewieCastController para descubrimiento, estado de sesión y reproducción remota, y proporcionan CastMedia con una URL accesible por el receptor. Al conectarse, Chewie pausa la reproducción local, carga el medio remoto en la posición actual, muestra una superposición y enruta los comandos de reproducción; la desconexión revierte el proceso. El ejemplo incluye un controlador de transmisión falso, y se pueden agregar widgets adicionales de barra de control para casos como un selector de ruta de AirPlay.
El README enumera insignias de plataforma Android, iOS y web, incluye una aplicación de ejemplo, documenta la migración desde versiones anteriores a 0.9.0 y señala advertencias de plataforma: un problema de estado de almacenamiento en búfer de video_player en Android puede ocultar los controles y tiene solo soluciones parciales, mientras que la reproducción en el simulador de iOS requiere una versión de Flutter suficientemente reciente.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.