lovoj_video_editor 0.1.0 copy "lovoj_video_editor: ^0.1.0" to clipboard
lovoj_video_editor: ^0.1.0 copied to clipboard

Custom short video recording & editing SDK for Flutter — CameraX/MediaCodec (Android) + AVFoundation (iOS).

example/lib/main.dart

import 'package:flutter/material.dart';
import 'package:lovoj_video_editor/lovoj_video_editor.dart';

Future<void> main() async {
  WidgetsFlutterBinding.ensureInitialized();
  await VideoEditorSdk.initialize();
  runApp(const ExampleApp());
}

class ExampleApp extends StatelessWidget {
  const ExampleApp({super.key});

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Lovoj Video Editor Example',
      theme: ThemeData(
        colorScheme: ColorScheme.fromSeed(seedColor: Colors.deepPurple),
        useMaterial3: true,
      ),
      home: const HomeScreen(),
    );
  }
}

class HomeScreen extends StatelessWidget {
  const HomeScreen({super.key});

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(title: const Text('Lovoj Video Editor')),
      body: Center(
        child: Column(
          mainAxisAlignment: MainAxisAlignment.center,
          children: [
            const Icon(Icons.videocam, size: 80, color: Colors.deepPurple),
            const SizedBox(height: 24),
            const Text('lovoj_video_editor', style: TextStyle(fontSize: 22, fontWeight: FontWeight.bold)),
            const SizedBox(height: 48),
            FilledButton.icon(
              onPressed: () => _openRecording(context),
              icon: const Icon(Icons.fiber_manual_record),
              label: const Text('Start Recording'),
            ),
          ],
        ),
      ),
    );
  }

  void _openRecording(BuildContext context) {
    Navigator.of(context).push<String>(
      MaterialPageRoute(
        builder: (_) => RecordingScreen(
          config: const RecordingConfig(
            countdownSec: 3,
            enableCountdown: true,
            autoMergeClips: true,
          ),
          onRecordingComplete: (path) {
            Navigator.of(context).push(
              MaterialPageRoute(builder: (_) => EditorScreen(videoPath: path)),
            );
          },
        ),
      ),
    );
  }
}
1
likes
0
points
338
downloads

Publisher

unverified uploader

Weekly Downloads

Custom short video recording & editing SDK for Flutter — CameraX/MediaCodec (Android) + AVFoundation (iOS).

Repository (GitHub)
View/report issues

License

unknown (license)

Dependencies

flutter

More

Packages that depend on lovoj_video_editor

Packages that implement lovoj_video_editor