Bläddra i källkod

新增滤镜页

gavin.chen 2 år sedan
förälder
incheckning
a426ceef0a
3 ändrade filer med 59 tillägg och 2 borttagningar
  1. 6 0
      lib/main.dart
  2. 51 0
      lib/pages/color_filter/page.dart
  3. 2 2
      pubspec.lock

+ 6 - 0
lib/main.dart

@@ -9,6 +9,7 @@ import 'pages/canvas_player/page.dart';
 import 'pages/image_player/page.dart';
 import 'pages/multi_canvas_player/page.dart';
 import 'pages/multi_image_player/page.dart';
+import 'pages/color_filter/page.dart';
 
 void main() {
   runApp(const MyApp());
@@ -36,6 +37,7 @@ class MyApp extends StatelessWidget {
             const MultiCanvasPlayerPage(),
         '/scene_player': (BuildContext context) => ScenePlayerPage(),
         '/image_test': (BuildContext context) => const ImageTestPage(),
+        '/color_filter': (BuildContext context) => const ColorFilterPage(),
       },
       debugShowCheckedModeBanner: false,
     );
@@ -96,6 +98,10 @@ class _MyHomePageState extends State<MyHomePage> {
             ElevatedButton(
                 onPressed: () => Navigator.pushNamed(context, '/image_test'),
                 child: const Text('Image Test')),
+            const SizedBox(height: 8),
+            ElevatedButton(
+                onPressed: () => Navigator.pushNamed(context, '/color_filter'),
+                child: const Text('Color Filter')),
             const SizedBox(height: 24),
           ],
         ),

+ 51 - 0
lib/pages/color_filter/page.dart

@@ -0,0 +1,51 @@
+import 'package:flutter/material.dart';
+import 'package:get/get.dart';
+import 'package:vid_player_demo/controller/player_controller.dart';
+import 'package:vid_player_demo/pages/canvas_player/view.dart';
+
+class ColorFilterPage extends StatefulWidget {
+  const ColorFilterPage({Key? key}) : super(key: key);
+  @override
+  _ColorFilterPageState createState() => _ColorFilterPageState();
+}
+
+class _ColorFilterPageState extends State<ColorFilterPage> {
+  final vidURLs = [
+    "http://cdn-bj.fis.plus/093BE20682B14BFB95D811F221A2B2FD.vid",
+  ];
+
+  final _playerStateController = Get.put(PlayerStateController());
+  @override
+  void initState() {
+    // TODO: implement initState
+    super.initState();
+  }
+
+  @override
+  Widget build(BuildContext context) {
+    return Scaffold(
+        appBar: AppBar(
+          title: const Text("视频滤镜(亮度,对比度)"),
+        ),
+        body: Column(
+          children: [
+            const SizedBox(height: 24),
+            ElevatedButton(
+                onPressed: () => {_playerStateController.play(context)},
+                child: const Text("Play Together")),
+            const SizedBox(height: 24),
+            SizedBox(
+                height: 800,
+                child: CanvasPlayerView(vidURLs[0],
+                    viewSize: const Size(600, 600))),
+          ],
+        ));
+  }
+
+  @override
+  void dispose() {
+    super.dispose();
+    Get.delete<PlayerStateController>();
+    _playerStateController.dispose();
+  }
+}

+ 2 - 2
pubspec.lock

@@ -42,7 +42,7 @@ packages:
       name: barcode
       url: "https://pub.flutter-io.cn"
     source: hosted
-    version: "2.2.1"
+    version: "2.2.2"
   boolean_selector:
     dependency: transitive
     description:
@@ -70,7 +70,7 @@ packages:
       name: charset
       url: "https://pub.flutter-io.cn"
     source: hosted
-    version: "1.0.1"
+    version: "1.0.2"
   clock:
     dependency: transitive
     description: