Blame view

packages/chivox_aiengine/lib/chivox_aiengine_method_channel.dart 2.97 KB
0fa4e405   吴启风   feat: 将语音评测从先声迁移至驰声
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
  import 'package:flutter/foundation.dart';
  import 'package:flutter/services.dart';
  
  import 'chivox_aiengine_platform_interface.dart';
  
  /// An implementation of [ChivoxAienginePlatform] that uses method channels.
  class MethodChannelChivoxAiengine extends ChivoxAienginePlatform {
    /// The method channel used to interact with the native platform.
    @visibleForTesting
    final methodChannel = const MethodChannel('com.chivox.aiengine/call');
  
    @override
    Future<String?> getPlatformVersion() async {
      final version =
          await methodChannel.invokeMethod<String>('getPlatformVersion');
      return version;
    }
  
    @override
    Future<String?> aiengineNew(String cfg) async {
      final engineId =
          await methodChannel.invokeMethod<String>('aiengineNew', [cfg]);
      return engineId;
    }
  
    @override
    Future<void> aiengineDelete(String engineId) async {
      await methodChannel.invokeMethod<void>('aiengineDelete', [engineId]);
      return;
    }
  
    @override
    Future<void> aiengineStart(String engineId, Map<String, dynamic> audioSrc,
        String param, String callbackId) async {
      await methodChannel.invokeMethod<String>(
          'aiengineStart', [engineId, audioSrc, param, callbackId]);
      return;
    }
  
    @override
    Future<void> aiengineFeed(
        String engineId, Uint8List bytes, int length) async {
      await methodChannel
          .invokeMethod<void>('aiengineFeed', [engineId, bytes, length]);
      return;
    }
  
    @override
    Future<void> aiengineStop(String engineId) async {
      await methodChannel.invokeMethod<void>('aiengineStop', [engineId]);
      return;
    }
  
    @override
    Future<void> aiengineCancel(String engineId) async {
      await methodChannel.invokeMethod<void>('aiengineCancel', [engineId]);
      return;
    }
  
    @override
    Future<String?> getDeviceId() async {
      final devId = await methodChannel.invokeMethod<String>(
        'getDeviceId',
      );
      return devId;
    }
  
    @override
    Future<String?> getSerialNumber(String? engineId, Map input) async {
      final output = await methodChannel
          .invokeMethod<String>('getSerialNumber', [engineId, input]);
      return output;
    }
  
    @override
    Future<bool?> clearSavedSerialNumber(String appKey) async {
      final ret = await methodChannel
          .invokeMethod<bool>('clearSavedSerialNumber', [appKey]);
      return ret;
    }
  
    @override
    Future<String?> getProvision(String? engineId, Map input) async {
      final output = await methodChannel
          .invokeMethod<String>('getProvision', [engineId, input]);
      return output;
    }
  
    @override
    Future<void> extractRes(String assetPrefix, List<String> assetNames,
        String targetDir, String callbackId) async {
      await methodChannel.invokeMethod<void>(
          'extractRes', [assetPrefix, assetNames, targetDir, callbackId]);
      return;
    }
  
    @override
    Future<String?> loadNativeCfg(
        String resRootDir, List<String> resNames) async {
      final cfgStr = await methodChannel
          .invokeMethod<String?>('loadNativeCfg', [resRootDir, resNames]);
      return cfgStr;
    }
  }