搜尋套件、儲存庫與 APP 分類

GitHub 儲存庫endmr11/ed_screen_recorder

ed_screen_recorder

適用於 Flutter 的螢幕錄製外掛程式。支援 iOS 和 Android 裝置。

ed_screen_recorder 專案封面
星標
28
分支
48
最近推送(UTC)
2024年8月29日
專案狀態
未封存

原始 README

以下為英文專案原文快照,最新內容請造訪 GitHub。

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.

Eren Demir GitHub avatar
GitHub 作者

Eren Demir ↗

Solution Architect & System Design Enthusiast

Istanbul, Turkey
語言JavaSwiftDartRubyObjective-C

此儲存庫發佈的套件

使用的依賴

依賴清單 4 項

  • flutter{"sdk":"flutter"}
  • uuid^3.0.6
  • flutter_test開發依賴{"sdk":"flutter"}
  • flutter_lints開發依賴^1.0.0

如何選擇適合專案的儲存庫?

先依使用情境篩選,再比較專案活躍情況,最後到原始儲存庫確認使用要求。

  1. 透過儲存庫名稱、作者或描述搜尋,再依技術分類縮小範圍。
  2. 綜合星標、分支與最近推送比較專案;星標反映社群關注,不保證品質。
  3. 使用前在 GitHub 確認 README、授權條款與 Issues。

來源與維護

“A repository is the most basic element of GitHub.”

GitHub Docs — About repositories ↗