a_cameras 0.0.8 copy "a_cameras: ^0.0.8" to clipboard
a_cameras: ^0.0.8 copied to clipboard

A Flutter plugin for accessing camera functionalities across various platforms with a unified API. Currently supports web only.

example/lib/main.dart

import 'package:a_cameras/a_cameras.dart';
import 'package:flutter/material.dart';
import 'dart:async';

import 'picture_page.dart';

void main() {
  runApp(const MyApp());
}

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

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

class _MyAppState extends State<MyApp> {
  final _camerasPlugin = Cameras();

  List<CameraDescription> _list = [];
  CameraController? _controller;
  bool _loading = false;

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

  Future<void> _initPlatformState() async {
    setState(() {
      _loading = true;
    });
    final result = await _camerasPlugin.getAvailableCameras();
    _controller = await _camerasPlugin.getCameraController();
    await _controller?.initializeCamera(result.first);

    setState(() {
      _list = result;
      _loading = false;
    });
  }

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      home: Scaffold(
        appBar: AppBar(
          title: const Text('Plugin example app'),
        ),
        body: Builder(builder: (context) {
          if (_loading) return const Center(child: CircularProgressIndicator());

          final contr = _controller;
          if (contr != null) return contr.buildPreview(context);

          return Center(child: Text('Running on: $_list\n'));
        }),
        floatingActionButton: Builder(builder: (context) {
          return FloatingActionButton(onPressed: () async {
            final bytes = await _controller?.captureImage();
            if (bytes == null) return;

            if (!mounted) return;

            Navigator.of(context).push(MaterialPageRoute(
              builder: (context) {
                return PicturePage(imageBytes: bytes);
              },
            ));
          });
        }),
      ),
    );
  }
}
3
likes
0
points
114
downloads

Publisher

verified publisherokji.store

Weekly Downloads

A Flutter plugin for accessing camera functionalities across various platforms with a unified API. Currently supports web only.

Repository (GitHub)
View/report issues

License

unknown (license)

Dependencies

flutter, flutter_web_plugins, freezed_annotation, json_annotation, logger, plugin_platform_interface, universal_html

More

Packages that depend on a_cameras