Um widget de teleprompter com gravação de vídeo integrada para Flutter.
Este pacote fornece uma página completa (TeleprompterPage) que exibe o
texto do teleprompter, controle de rolagem, pré-visualização da câmera,
gravação em múltiplos takes e concatenador de vídeos final (mp4) usando
ffmpeg_kit_flutter_new.
- Teleprompter com rolagem automática configurável (velocidade, fonte, tamanho e cor).
- Gravação em múltiplos takes com visualização de miniaturas.
- Concatenador de takes em um único arquivo mp4.
- Callback
onVideoReadypara receber o arquivo final assim que estiver pronto.
Adicione ao seu pubspec.yaml:
dependencies:
teleprompter: 0.0.4E execute flutter pub get.
Observação: o pacote depende de plugins que exigem configuração nativa (câmera, ffmpeg kit). Consulte a documentação desses plugins se encontrar problemas na build.
Exemplo mínimo de como abrir a página do teleprompter e receber o arquivo final quando pronto:
import 'package:flutter/material.dart';
import 'package:teleprompter/teleprompter.dart';
// Em algum lugar do seu app:
Navigator.push(context, MaterialPageRoute(
builder: (_) => TeleprompterPage(
text: 'Olá! Este é o texto do teleprompter.',
maxDurationSeconds: 120,
onVideoReady: (file) async {
// file é um XFile apontando para o mp4 final.
debugPrint('Vídeo gerado em ${file.path}');
// Você pode mover, enviar para servidor, mostrar um preview, etc.
},
),
));O callback tem a forma FutureOr<void> Function(XFile finalVideo) e é
chamado quando a concatenação dos takes terminou com sucesso. Você pode
realizar operações assíncronas dentro do callback (por exemplo upload). Erros
lançados no callback são capturados pelo pacote e não interrompem o fluxo.
- Android: adicione permissões de câmera e microfone no
AndroidManifest.xml:
<uses-permission android:name="android.permission.CAMERA" />
<uses-permission android:name="android.permission.RECORD_AUDIO" />- iOS: adicione as chaves em
Info.plist:
NSCameraUsageDescription
NSMicrophoneUsageDescription
- ffmpeg: o pacote usa
ffmpeg_kit_flutter_newpara concatenar os arquivos. Verifique a documentação do plugin para instruções adicionais sobre a configuração de binários em cada plataforma.
- Teste em dispositivo real sempre que possível (câmera e ffmpeg podem não funcionar corretamente no emulador).
- Use o callback
onVideoReadypara mover ou fazer upload do arquivo final e libere recursos temporários conforme necessário.
Veja a pasta example/ deste repositório para um app completo mostrando o
fluxo de uso do TeleprompterPage.
- Abra issues para bugs e sugestões.
- PRs são bem-vindas. Mantenha testes mínimos e atualize a documentação quando adicionar ou alterar comportamento.
Consulte o arquivo LICENSE neste repositório.