truvideo_camera_sdk 1.0.1 copy "truvideo_camera_sdk: ^1.0.1" to clipboard
truvideo_camera_sdk: ^1.0.1 copied to clipboard

Access the device camera to capture photos and videos, saving them in the app’s storage and returning file paths for use.

example/lib/main.dart

import 'dart:io';
import 'package:flutter/foundation.dart';
import 'package:flutter/material.dart';
import 'dart:async';
import 'package:flutter/services.dart';
import 'package:path_provider/path_provider.dart';
import 'package:truvideo_camera_sdk/camera_configuration.dart';
import 'package:truvideo_camera_sdk/camera_mode.dart';
import 'package:truvideo_camera_sdk/truvideo_camera_sdk.dart';
import 'package:truvideo_camera_sdk/truvideo_sdk_camera_flash_mode.dart';
import 'package:truvideo_camera_sdk/truvideo_sdk_camera_lens_facing.dart';
import 'package:truvideo_camera_sdk/truvideo_sdk_camera_media.dart';
import 'package:truvideo_camera_sdk/truvideo_sdk_camera_orientation.dart';

void main() {
  WidgetsFlutterBinding.ensureInitialized();
  runApp(const MyApp());
}

class MyApp extends StatefulWidget {
  const MyApp({super.key});

  @override
  State<MyApp> createState() => _MyAppState();
}

class _MyAppState extends State<MyApp> {
  String _platformVersion = 'Unknown';
  String? outputPath;

  @override
  void initState() {
    super.initState();
    initializeAsync();
  }

  Future<void> initializeAsync() async {
    await initPlatformState();
    _listenToCameraEvents();
    final Directory appDir = await getApplicationDocumentsDirectory();
    outputPath = appDir.path;
  }

  void _listenToCameraEvents() {
    TruvideoCameraSdk.events.listen((event) {
      setState(() {
        if (kDebugMode) {
          print("Event Type: ${event.type}");
        }
        if (kDebugMode) {
          print("Event Data: ${event.data?.toJson()}");
        }
      });
    });
  }

  Future<void> initPlatformState() async {
    String platformVersion;
    try {
      platformVersion = await TruvideoCameraSdk.getPlatformVersion() ??
          'Unknown platform version';
    } on PlatformException {
      platformVersion = 'Failed to get platform version.';
    }

    if (!mounted) return;
    setState(() {
      _platformVersion = platformVersion;
    });
  }

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      debugShowCheckedModeBanner: false,
      home: Scaffold(
        appBar: AppBar(
          title: const Text('Truvideo Sample App'),
        ),
        body: Center(
          child: Column(
            mainAxisAlignment: MainAxisAlignment.center,
            children: [
              Text('Running on: $_platformVersion\n'),
              ElevatedButton(
                onPressed: () async {
                  try {
                    final config = CameraConfiguration(
                      lensFacing: TruvideoSdkCameraLensFacing.front,
                      flashMode: TruvideoSdkCameraFlashMode.off,
                      orientation: TruvideoSdkCameraOrientation.portrait,
                      outputPath: outputPath ?? '',
                      mode: CameraMode.videoAndImage(videoMaxCount: 3, imageMaxCount: 5, durationLimit: 60),
                    );
                    List<TruvideoSdkCameraMedia> result =
                        await TruvideoCameraSdk.openCamera(
                            configuration: config);
                    if (result.isNotEmpty) {
                      if (kDebugMode) {
                        print("Result: $result");
                      }
                    }
                  } catch (e) {
                    if (kDebugMode) {
                      print("Error: $e");
                    }
                  }
                },
                child: const Text('Open Camera'),
              ),
            ],
          ),
        ),
      ),
    );
  }
}
0
likes
140
points
39
downloads

Publisher

verified publishertruvideo.com

Weekly Downloads

Access the device camera to capture photos and videos, saving them in the app’s storage and returning file paths for use.

Homepage

Documentation

API reference

License

MIT (license)

Dependencies

flutter, plugin_platform_interface

More

Packages that depend on truvideo_camera_sdk

Packages that implement truvideo_camera_sdk