瀏覽代碼

添加播放/停止 api

melon 2 年之前
父節點
當前提交
6b76820be8

+ 2 - 0
assets/wwwroot/source.html

@@ -40,7 +40,9 @@
             document.head.appendChild(script);
         })()
     </script> -->
+    <!-- <script src="https://cdn.bootcdn.net/ajax/libs/vConsole/3.3.4/vconsole.min.js"></script> -->
     <script>
+        // var vConsole = new VConsole();
         main();
 
         async function main() {

+ 7 - 1
lib/controller/adapters/core.dart

@@ -1 +1,7 @@
-abstract class ILiveControllerAdapter {}
+abstract class ILiveControllerAdapter {
+  /// 播放
+  void play();
+
+  /// 停止
+  void stop();
+}

+ 11 - 1
lib/controller/adapters/crop/adapter_io.dart

@@ -1,4 +1,14 @@
 import '../core.dart';
 
 /// 多路裁剪画面直播控制适配器-Native
-class LiveControllerCropIOAdapter implements ILiveControllerAdapter {}
+class LiveControllerCropIOAdapter implements ILiveControllerAdapter {
+  @override
+  void play() {
+    // TODO: implement play
+  }
+
+  @override
+  void stop() {
+    // TODO: implement stop
+  }
+}

+ 11 - 1
lib/controller/adapters/crop/adapter_web.dart

@@ -1,4 +1,14 @@
 import '../core.dart';
 
 /// 多路裁剪画面直播控制适配器-Web
-class LiveControllerCropWebAdapter implements ILiveControllerAdapter {}
+class LiveControllerCropWebAdapter implements ILiveControllerAdapter {
+  @override
+  void play() {
+    // TODO: implement play
+  }
+
+  @override
+  void stop() {
+    // TODO: implement stop
+  }
+}

+ 10 - 0
lib/controller/adapters/single/adapter_io.dart

@@ -6,4 +6,14 @@ import '../core.dart';
 class LiveControllerSingleIOAdapter implements ILiveControllerAdapter {
   /// WebView控制器
   InAppWebViewController? webViewController;
+
+  @override
+  void play() {
+    webViewController?.evaluateJavascript(source: "play()");
+  }
+
+  @override
+  void stop() {
+    webViewController?.evaluateJavascript(source: "stop()");
+  }
 }

+ 10 - 0
lib/controller/adapters/single/adapter_web.dart

@@ -6,4 +6,14 @@ import '../core.dart';
 class LiveControllerSingleWebAdapter implements ILiveControllerAdapter {
   /// WebView控制器
   WebViewXController? webViewController;
+
+  @override
+  void play() {
+    webViewController?.callJsMethod("play", []);
+  }
+
+  @override
+  void stop() {
+    webViewController?.callJsMethod("stop", []);
+  }
 }

+ 6 - 0
lib/controller/controller.dart

@@ -16,6 +16,12 @@ class LiveController {
   /// 控制适配器
   ILiveControllerAdapter? adapter;
 
+  /// 播放
+  void play() => adapter?.play();
+
+  /// 停止
+  void stop() => adapter?.stop();
+
   /// 就绪事件
   final ready = FEventHandler<void>();