import 'dart:ffi'; import 'package:demo001/xunfei/task_trans.dart'; import 'package:intl/intl.dart'; abstract class ISDK { //创建翻译任务 ITaskTrans createTransTask(); } abstract class ITaskTrans { //添加音频数据 void addAudioData(List data); Future close(); } class Xunfei implements ISDK{ final String appId; final String apiKey; final String apiSecret; //静态变量保存唯一实例 static Xunfei? _instance; Xunfei._internal({ required this.appId, required this.apiKey, required this.apiSecret, }); //工厂构造函数 factory Xunfei({ required String appId, required String apiKey, required String apiSecret, }) { _instance ??= Xunfei._internal( appId: appId, apiKey: apiKey, apiSecret: apiSecret, ); return _instance!; } ITaskTrans createTransTask(){ var task = XunferTaskTrans(appId:this.appId,apiKey:this.apiKey,apiSecret:this.apiSecret); return task; } }