Nelze vybrat více než 25 témat Téma musí začínat písmenem nebo číslem, může obsahovat pomlčky („-“) a může být dlouhé až 35 znaků.
 
 
 
 
 
 

51 řádky
998 B

  1. import 'dart:ffi';
  2. import 'package:demo001/xunfei/task_trans.dart';
  3. import 'package:intl/intl.dart';
  4. abstract class ISDK {
  5. //创建翻译任务
  6. ITaskTrans createTransTask();
  7. }
  8. abstract class ITaskTrans {
  9. //添加音频数据
  10. void addAudioData(List<int> data);
  11. Future<void> close();
  12. }
  13. class Xunfei implements ISDK{
  14. final String appId;
  15. final String apiKey;
  16. final String apiSecret;
  17. //静态变量保存唯一实例
  18. static Xunfei? _instance;
  19. Xunfei._internal({
  20. required this.appId,
  21. required this.apiKey,
  22. required this.apiSecret,
  23. });
  24. //工厂构造函数
  25. factory Xunfei({
  26. required String appId,
  27. required String apiKey,
  28. required String apiSecret,
  29. }) {
  30. _instance ??= Xunfei._internal(
  31. appId: appId,
  32. apiKey: apiKey,
  33. apiSecret: apiSecret,
  34. );
  35. return _instance!;
  36. }
  37. ITaskTrans createTransTask(){
  38. var task = XunferTaskTrans(appId:this.appId,apiKey:this.apiKey,apiSecret:this.apiSecret);
  39. return task;
  40. }
  41. }