ILiveVideoPusherManagerV2.cs 2.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293
  1. using System;
  2. using System.Collections.Generic;
  3. using Vinno.FIS.TRTCClient.Common.Enum;
  4. using Vinno.vCloud.FIS.CrossPlatform.Common.Enum;
  5. using Vinno.vCloud.FIS.CrossPlatform.Common.LiveVideo;
  6. using Vinno.vCloud.FIS.CrossPlatform.Common.LiveVideo.Interface;
  7. namespace Vinno.vCloud.Common.FIS.LiveVideos
  8. {
  9. internal interface ILiveVideoPusherManagerV2 : IPreview, IDisposable
  10. {
  11. /// <summary>
  12. /// 推流状态改变事件通知
  13. /// </summary>
  14. event EventHandler<PusherState> PusherStateChanged;
  15. /// <summary>
  16. /// The event to notificate the US to show or hide the live video out put window
  17. /// </summary>
  18. event EventHandler<LiveNotificationArgs> LiveVideoNotification;
  19. void UpdateCurrentVideoDeviceInfoList(List<CPVideoDeviceOutputInfo> infos);
  20. /// <summary>
  21. /// 是否正在推流
  22. /// </summary>
  23. bool IsPushing { get; }
  24. /// <summary>
  25. /// 重新推流
  26. /// </summary>
  27. void RestartPusher();
  28. /// <summary>
  29. ///
  30. /// </summary>
  31. /// <param name="liveEventArgs"></param>
  32. void LiveStateChanged(LiveEventArgs liveEventArgs);
  33. /// <summary>
  34. /// 当会诊时,变更房间时
  35. /// </summary>
  36. /// <param name="consultationCode"></param>
  37. void ChangeHeartRateCode(string consultationCode);
  38. void StartHeartRateKeeper(string heartRateCode, int interval, EnumHeartRateType heartRateType);
  39. void StopHeartRateKeeper();
  40. void SetMute(bool isMute);
  41. void SwitchMic(string micId);
  42. /// <summary>
  43. /// 设置是否暂停
  44. /// </summary>
  45. /// <param name="isPaused"></param>
  46. void SetIsPaused(bool isPaused);
  47. /// <summary>
  48. /// 获取品牌列表
  49. /// </summary>
  50. /// <returns></returns>
  51. List<string> GetBrandList();
  52. /// <summary>
  53. /// 获取型号列表
  54. /// </summary>
  55. /// <param name="brand"></param>
  56. /// <param name="model"></param>
  57. /// <returns></returns>
  58. List<string> GetModelList(string brand);
  59. /// <summary>
  60. /// 获取推荐分辨率
  61. /// </summary>
  62. /// <param name="brand"></param>
  63. /// <param name="model"></param>
  64. /// <returns></returns>
  65. DeviceRecommandResolution GetRecommandResolution(string brand, string model);
  66. /// <summary>
  67. /// Speed live test network and auto select good network to server
  68. /// </summary>
  69. /// <returns></returns>
  70. bool StartSpeedTest();
  71. /// <summary>
  72. /// 开始预览
  73. /// </summary>
  74. void StartOnlyPreview(EnumLiveChannelCategory category);
  75. }
  76. }