This repository has been archived on 2025-08-26. You can view files and clone it, but cannot push or open issues or pull requests.
Files
enginex_bi_series-sherpa-onnx/sherpa-onnx/flutter/lib/sherpa_onnx.dart

55 lines
1.4 KiB
Dart
Raw Normal View History

// Copyright (c) 2024 Xiaomi Corporation
import 'dart:io';
import 'dart:ffi';
2024-06-02 19:11:27 +08:00
export 'src/feature_config.dart';
export 'src/offline_recognizer.dart';
export 'src/offline_stream.dart';
2024-05-30 12:21:09 +08:00
export 'src/online_recognizer.dart';
export 'src/online_stream.dart';
2024-05-22 21:56:21 +08:00
export 'src/speaker_identification.dart';
export 'src/tts.dart';
2024-05-22 21:56:21 +08:00
export 'src/vad.dart';
export 'src/wave_reader.dart';
export 'src/wave_writer.dart';
2024-06-02 19:11:27 +08:00
2024-05-22 21:56:21 +08:00
import 'src/sherpa_onnx_bindings.dart';
2024-06-14 10:37:16 +08:00
String? _path;
final DynamicLibrary _dylib = () {
if (Platform.isIOS) {
throw UnsupportedError('Unknown platform: ${Platform.operatingSystem}');
}
if (Platform.isMacOS) {
2024-06-14 10:37:16 +08:00
if (_path == null) {
return DynamicLibrary.open('libsherpa-onnx-c-api.dylib');
} else {
2024-06-17 11:57:38 +08:00
return DynamicLibrary.open('$_path/libsherpa-onnx-c-api.dylib');
2024-06-14 10:37:16 +08:00
}
}
2024-06-14 10:37:16 +08:00
if (Platform.isAndroid || Platform.isLinux) {
2024-06-14 10:37:16 +08:00
if (_path == null) {
return DynamicLibrary.open('libsherpa-onnx-c-api.so');
} else {
2024-06-17 11:57:38 +08:00
return DynamicLibrary.open('$_path/libsherpa-onnx-c-api.so');
2024-06-14 10:37:16 +08:00
}
}
if (Platform.isWindows) {
2024-06-14 10:37:16 +08:00
if (_path == null) {
return DynamicLibrary.open('sherpa-onnx-c-api.dll');
} else {
2024-06-17 11:57:38 +08:00
return DynamicLibrary.open('$_path\\sherpa-onnx-c-api.dll');
2024-06-14 10:37:16 +08:00
}
}
throw UnsupportedError('Unknown platform: ${Platform.operatingSystem}');
}();
2024-06-14 10:37:16 +08:00
void initBindings([String? p]) {
_path ??= p;
SherpaOnnxBindings.init(_dylib);
}