搜索插件、代码仓与 APP 分类

插件详情v0.0.15

ed_screen_recorder

适用于 Flutter 的屏幕录制器。此插件需要 Android SDK 21+ 和 iOS 10+

AndroidiOS
近 30 天下载
110
喜欢数
58
Pub 分数
130

安装插件

flutter pub add ed_screen_recorder

插件介绍

基于插件公开信息、社区数据与项目使用情况整理的选型参考。

ed_screen_recorder 是一个 Flutter 插件,可在 Android 和 iOS 设备上启用屏幕录制功能。它支持 Android SDK 21+ 和 iOS 10+,允许开发者在其应用中捕获设备屏幕。该插件可无缝集成到 Flutter 项目中,并通过简单的 API 提供屏幕录制功能。非常适合用于创建教程、调试工具或交互式应用演示。

适合场景

  • 创建应用内教程视频
  • 通过屏幕录制调试应用行为
  • 构建教育或演示应用程序
  • 记录用户交互以进行分析
  • 开发屏幕共享功能

主要特点

  • 跨平台支持(Android 和 iOS)
  • 与 Flutter 的简单集成
  • 支持 Android SDK 21+ 和 iOS 10+
  • 启用实时屏幕捕获
  • 轻量级且专注于核心功能

适合对象

  • 需要屏幕录制功能的应用开发者
  • 教育类应用开发者
  • 调试和测试工具
  • 用户引导功能构建器
  • 交互式演示应用程序

使用建议

  • 两个平台都需要适当的权限
  • 仅限支持的操作系统版本
  • 可能需要额外配置以支持后台录音
  • 未经优化,不适合高分辨率或长时间录制
  • 录制用户屏幕时的隐私考虑

原始 README

以下为关联源码仓库的 README 原文快照,最新内容请访问源码仓库。

ED Flutter Screen Recorder

Screen recorder plugin for Flutter. Supports IOS and Android devices.It does not work on the IOS emulator!!!!

Who made it? It's Eren ;)

pubdev

Ekler

android/app/build.gradle

dependencies {
    implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
    implementation 'com.github.HBiSoft:HBRecorder:3.0.1'
    implementation 'androidx.appcompat:appcompat:1.4.1'
}

android/app/src/main/AndroidManifest.xml

    xmlns:tools="http://schemas.android.com/tools"
    package="com.example">
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" android:maxSdkVersion="28" tools:ignore="ScopedStorage" />
    <uses-permission android:name="android.permission.WRITE_INTERNAL_STORAGE" />
    <uses-permission android:name="android.permission.RECORD_AUDIO" />
    <uses-permission android:name="android.permission.FOREGROUND_SERVICE" />

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;

@override
void initState() {
    super.initState();
    screenRecorder = ScreenRecorder();
}

  Future<void> startRecord({required String 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;
    });
  }

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: const Text("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: const Text('START RECORD')),
            ElevatedButton(onPressed: () => stopRecord(), child: const Text('STOP RECORD')),
          ],
        ),
      ),
    );
  }

Resources used within the plugin

HBRecorder Lightweight screen and audio recording Android library. URL

Watcher

A file system watcher. URL

UUID

Simple, fast generation of RFC4122 UUIDs. URL

Contributors

Thanks my friends Mehmet for contributed.

Author: endmr11 "github"

Features

  • IOS operating system support. "check"
  • Custom File Path-Directory "check"
  • Custom Audio Record
  • Custom Video Frame
  • Code optimization.

Feedback

If you have any feedback, please contact us at erndemir.1@gmail.com.

所属分类

依赖

依赖清单 1 项

源码仓库

使用此插件的项目

暂无相关数据。