सार्वजनिक जानकारी से बना चयन मार्गदर्शन। केवल संदर्भ हेतु।
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!!!!
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