aliyun_video 0.0.3 copy "aliyun_video: ^0.0.3" to clipboard
aliyun_video: ^0.0.3 copied to clipboard

discontinued

Alibaba cloud short video, modified with demo code. Only taking photos and videos, beauty and filter are not included. Android only.

example/lib/main.dart

import 'package:aliyun_video_example/video_play_page.dart';
import 'package:flutter/material.dart';
import 'dart:async';

import 'package:flutter/services.dart';
import 'package:aliyun_video/aliyun_video.dart';
import 'package:permission_handler/permission_handler.dart';
import 'dart:io';

void main() => runApp(MyApp());

class MyApp extends StatefulWidget {
  @override
  _MyAppState createState() => _MyAppState();
}

class _MyAppState extends State<MyApp> {
  final List<PermissionGroup> permissions = [
    PermissionGroup.camera,
    PermissionGroup.microphone,
    PermissionGroup.storage,
  ];

  bool hasPermissions = false;

  AliyunResult res;

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

  Future<bool> checkPermission() async {
    List<PermissionGroup> p = [];
    if (await PermissionHandler().checkPermissionStatus(permissions[0]) !=
        PermissionStatus.granted) p.add(permissions[0]);

    if (await PermissionHandler().checkPermissionStatus(permissions[1]) !=
        PermissionStatus.granted) p.add(permissions[1]);
    if (await PermissionHandler().checkPermissionStatus(permissions[2]) !=
        PermissionStatus.granted) p.add(permissions[2]);

    if (p.length != 0) {
      await PermissionHandler().requestPermissions(p);
      return false;
    }
    hasPermissions = true;
    return true;
  }

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      home: Scaffold(
        appBar: AppBar(
          title: const Text('Plugin example app'),
        ),
        body: Builder(
          builder: (context) => ListView(
            padding: EdgeInsets.symmetric(horizontal: 30, vertical: 20),
            children: <Widget>[
              RaisedButton(
                onPressed: () async {
                  if (hasPermissions) {
                    AliyunVideo.startCamera(mCreateType: 1).then((res) {
                      this.res = res;
                    });
                  } else {
                    checkPermission();
                  }
                },
                child: Text('take'),
              ),
              RaisedButton(
                onPressed: () async {
                  if (res != null) {
                    if (res.fileType == 0) {
                      Navigator.push(
                          context,
                          new MaterialPageRoute(
                              builder: (_) => VideoPlayerPage(res.filePath)));
                    } else {
                      setState(() {});
                    }
                  }
                },
                child: Text('play'),
              ),
              if (res != null && res.fileType == 1)
                Container(
                  child: Image.file(
                    File(
                      res.filePath,
                    ),
                  ),
                ),
            ],
          ),
        ),
      ),
    );
  }
}
0
likes
10
pub points
0%
popularity

Publisher

unverified uploader

Alibaba cloud short video, modified with demo code. Only taking photos and videos, beauty and filter are not included. Android only.

Repository (GitHub)
View/report issues

License

unknown (LICENSE)

Dependencies

flutter

More

Packages that depend on aliyun_video