serverconfigmanager.dart 1.3 KB

123456789101112131415161718192021222324252627282930313233343536
  1. import 'package:fis_jsonrpc/rpc.dart';
  2. import 'package:fis_lib_media_rt/fis_lib_media_rt.dart';
  3. import 'package:flyinsonolite/jsonrpc/jsonrpcclient.dart';
  4. import 'package:flyinsonolite/managers/basemanager.dart';
  5. import 'package:flyinsonolite/managers/interfaces/iserverconfigmanager.dart';
  6. class ServerConfigManager extends BaseManager implements IServerConfigManager {
  7. @override
  8. Future<ServerSettingResult> getAllServerConfigAsync() async {
  9. var result = await jsonRpcProxy.organization
  10. .getServerSettingAsync(TokenRequest(token: token));
  11. await _initRealTimeLiveTypeAsync(result.liveProtocolType);
  12. return result;
  13. }
  14. @override
  15. Future<bool> checkNetWorkAsync() async {
  16. bool result = false;
  17. try {
  18. await getAllServerConfigAsync();
  19. return true;
  20. } catch (e) {}
  21. return result;
  22. }
  23. Future _initRealTimeLiveTypeAsync(TransactionStatusEnum type) async {
  24. if (type == TransactionStatusEnum.Common ||
  25. type == TransactionStatusEnum.Tencent) {
  26. FRTMediaConfig.serviceType = FRealTimeMediaServiceType.ntRtmp;
  27. } else if (type == TransactionStatusEnum.VRTC) {
  28. FRTMediaConfig.serviceType = FRealTimeMediaServiceType.vrtc;
  29. } else {
  30. FRTMediaConfig.serviceType = FRealTimeMediaServiceType.trtc;
  31. }
  32. }
  33. }