Orientação gerada a partir de informações públicas. Apenas para referência.
ed_screen_recorder é um plugin Flutter que habilita a funcionalidade de gravação de tela em dispositivos Android e iOS. Ele suporta Android SDK 21+ e iOS 10+, permitindo que desenvolvedores capturem telas de dispositivos dentro de seus aplicativos. O plugin se integra perfeitamente aos projetos Flutter e fornece acesso às funcionalidades de gravação de tela por meio de uma API simples. Ideal para criar tutoriais, ferramentas de depuração ou demonstrações interativas de aplicativos.
Casos de uso
Criando vídeos de tutorial no aplicativo
Depuração do comportamento do aplicativo por meio de gravações de tela
Criando aplicativos educacionais ou de demonstração
Gravando interações do usuário para análise
Desenvolvendo recursos de compartilhamento de tela
Principais recursos
Suporte multiplataforma (Android e iOS)
Integração simples com o Flutter
Suporta Android SDK 21+ e iOS 10+
Habilita captura de tela em tempo real
Leve e focado em funcionalidades principais
Indicado para
Desenvolvedores de aplicativos que precisam de gravação de tela
Criadores de aplicativos educacionais
Ferramentas de depuração e teste
construtores de recursos de onboarding do usuário
Aplicativos de demonstração interativos
Considerações
Permissões apropriadas são necessárias em ambas as plataformas
Limitado às versões de SO compatíveis
Pode exigir configuração adicional para gravação em segundo plano
Não adequado para gravações de alta resolução ou longa duração sem otimização
Considerações de privacidade ao gravar telas de usuário
README original
Snapshot do README original do repositório-fonte vinculado. Consulte o repositório para o conteúdo mais recente.
ED Flutter Screen Recorder
Screen recorder plugin for Flutter. Supports IOS and Android devices.It does not work on the IOS emulator!!!!
You only need add the permission message on the Info.plist
<key>NSPhotoLibraryUsageDescription</key>
<string>Save video in gallery</string><key>NSMicrophoneUsageDescription</key><string>Save audio in video</string>
Usage/Examples
import'package:screen_recorder/screen_recorder.dart';
ScreenRecorder? screenRecorder;
Map<String, dynamic>? _response;
@overridevoidinitState() {
super.initState();
screenRecorder = ScreenRecorder();
}
Future<void> startRecord({requiredString fileName}) async {
// Directory tempDir = await getTemporaryDirectory();// String tempPath = tempDir.path;var response = await edScreenRecorder?.startRecordScreen(
fileName: fileName,
// `dirPathToSave` Optional. It will save the video there when you give the file path with whatever you want.//If you leave it blank, the Android operating system will save it to the gallery.
dirPathToSave: tempPath,
audioEnable: false,
);
setState(() {
_response = response;
});
}
Future<void> stopRecord() async {
var response = await edScreenRecorder?.stopRecord();
setState(() {
_response = response;
});
}
@overrideWidgetbuild(BuildContext context) {
returnScaffold(
appBar: AppBar(
title: constText("Screen Recording Debug"),
),
body: Center(
child: Column(
mainAxisAlignment: MainAxisAlignment.center,
children: [
Text("File: ${(_response?['file'] as File?)?.path}"),
Text("Status: ${(_response?['success']).toString()}"),
Text("Event: ${_response?['eventname']}"),
Text("Progress: ${(_response?['progressing']).toString()}"),
Text("Message: ${_response?['message']}"),
Text("Video Hash: ${_response?['videohash']}"),
Text("Start Date: ${(_response?['startdate']).toString()}"),
Text("End Date: ${(_response?['enddate']).toString()}"),
ElevatedButton(onPressed: () => startRecord(fileName: "eren"), child: constText('START RECORD')),
ElevatedButton(onPressed: () => stopRecord(), child: constText('STOP RECORD')),
],
),
),
);
}
Resources used within the plugin
HBRecorder
Lightweight screen and audio recording Android library.
URL