ILiveVideoV2.cs 3.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103
  1. using System;
  2. using System.Collections.Generic;
  3. using Vinno.FIS.TRTCClient.Common.Enum;
  4. using Vinno.vCloud.FIS.CrossPlatform.Common.LiveVideo;
  5. namespace Vinno.vCloud.Common.FIS.LiveVideos
  6. {
  7. public interface ILiveVideoV2 : IFeatureV2, IDisposable
  8. {
  9. /// <summary>
  10. /// Raised when camera Preview Excute
  11. /// </summary>
  12. event EventHandler<byte[]> PreviewCameraCaptured;
  13. /// <summary>
  14. /// Raised when Camera Preview Image Size Changed
  15. /// </summary>
  16. event EventHandler<ImageSize> CameraPreviewImageSizeChanged;
  17. /// <summary>
  18. /// The event to notificate the US to show or hide the live video out put window
  19. /// </summary>
  20. event EventHandler<LiveNotificationArgs> LiveNotification;
  21. /// <summary>
  22. /// Raised when capture image generated.(only for new server)
  23. /// </summary>
  24. event EventHandler<string> CaptureImageGenerated;
  25. /// <summary>
  26. /// Raised when record video generated.(only for new server)
  27. /// </summary>
  28. event EventHandler<string> RecordVideoGenerated;
  29. /// <param name="enableCameraLive"></param>
  30. /// <param name="cameraId"></param>
  31. /// <param name="micId"></param>
  32. /// <param name="showPreviewImage"></param>
  33. /// <param name="enableLiveVideo"></param>
  34. /// <param name="isMute"></param>
  35. void ChangeCameraSettings(bool enableCameraLive, string cameraId, string micId, bool showPreviewImage, bool enableLiveVideo, bool isMute);
  36. /// <summary>
  37. /// Change Camera Setting
  38. /// </summary>
  39. /// <param name="infos"></param>
  40. void ChangeCameraSettingsForSonopost(bool showPreviewImage, EnumLiveChannelCategory previewLiveChannel, IEnumerable<CPVideoDeviceInfo> infos, string micId, bool isMute, RainbowImageDetectConfig rainbowImageDetectConfig);
  41. /// <summary>
  42. /// Change Real Time Capture Setting
  43. /// </summary>
  44. /// <param name="isStart"></param>
  45. void ChangeRealTimeCaptureSetting(bool isStart);
  46. /// <summary>
  47. /// Capture current Image
  48. /// </summary>
  49. void CaptureCurrentImage();
  50. /// <summary>
  51. /// Start Record Video
  52. /// </summary>
  53. void StartRecordVideo();
  54. /// <summary>
  55. /// Stop Record Video
  56. /// </summary>
  57. void StopRecordVideo(bool isTimeOut);
  58. /// <summary>
  59. /// 获取品牌列表
  60. /// </summary>
  61. /// <returns></returns>
  62. List<string> GetBrandList();
  63. /// <summary>
  64. /// 获取型号列表
  65. /// </summary>
  66. /// <param name="brand"></param>
  67. /// <param name="model"></param>
  68. /// <returns></returns>
  69. List<string> GetModelList(string brand);
  70. /// <summary>
  71. /// 获取推荐分辨率
  72. /// </summary>
  73. /// <param name="brand"></param>
  74. /// <param name="model"></param>
  75. /// <returns></returns>
  76. DeviceRecommandResolution GetRecommandResolution(string brand, string model);
  77. /// <summary>
  78. /// Speed live test network and auto select good network to server
  79. /// </summary>
  80. /// <returns></returns>
  81. bool StartSpeedTest();
  82. /// <summary>
  83. /// 重新上传剩余未上传的Vid
  84. /// </summary>
  85. void ReUploadRestVid();
  86. }
  87. }