패키지, 저장소 및 앱 카테고리 검색

패키지 상세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는 Android 및 iOS 기기에서 화면 녹화 기능을 가능하게 하는 Flutter 플러그인입니다. Android SDK 21 이상 및 iOS 10 이상을 지원하며, 개발자가 앱 내에서 디바이스 화면을 캡처할 수 있도록 합니다. 플러그인은 Flutter 프로젝트에 원활하게 통합되며 간단한 API를 통해 화면 녹화 기능에 접근할 수 있습니다. 튜토리얼 제작, 디버깅 도구 또는 인터랙티브 앱 시연에 적합합니다.

사용 사례

  • 앱 내 튜토리얼 비디오 만들기
  • 화면 녹화를 통한 앱 동작 디버깅
  • 교육용 또는 시범 앱 만들기
  • 분석을 위해 사용자 상호작용 기록하기
  • 화면 공유 기능 개발

주요 기능

  • 크로스 플랫폼 지원 (Android 및 iOS)
  • Flutter와의 간단한 통합
  • Android SDK 21 이상 및 iOS 10 이상을 지원
  • 실시간 화면 캡처를 활성화합니다
  • 경량화되고 핵심 기능에 집중

적합한 대상

  • 화면 녹화가 필요한 앱 개발자
  • 교육 앱 개발자
  • 디버깅 및 테스트 도구
  • 사용자 온보딩 기능 빌더
  • 인터랙티브 데모 애플리케이션

고려 사항

  • 두 플랫폼 모두 적절한 권한이 필요합니다
  • 지원되는 OS 버전에 한정
  • 백그라운드 녹음에 추가 구성이 필요할 수 있습니다
  • 최적화되지 않은 상태에서는 고해상도 또는 장시간 녹음에 적합하지 않음
  • 사용자 화면을 기록할 때의 개인정보 보호 고려 사항

원본 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 개

소스 저장소

이 패키지를 사용하는 프로젝트

아직 데이터가 없습니다.