ILiveVideo.cs 2.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273
  1. using System;
  2. using System.Collections.Generic;
  3. using Vinno.FIS.TRTCClient.Common.Enum;
  4. using Vinno.vCloud.FIS.CrossPlatform.Common.LiveVideo;
  5. using Vinno.vCloud.Protocol.Infrastructures;
  6. namespace Vinno.vCloud.Common.FIS.LiveVideos
  7. {
  8. public interface ILiveVideo : IFeature, IDisposable
  9. {
  10. /// <summary>
  11. /// Raised when live changed to protocol
  12. /// </summary>
  13. event EventHandler<LiveProtocol> LiveProtocolChanged;
  14. /// <summary>
  15. /// The event to notificate the US to show or hide the live video out put window
  16. /// </summary>
  17. event EventHandler<LiveNotificationArgs> LiveNotification;
  18. /// <summary>
  19. /// Raised when camera Preview Excute
  20. /// </summary>
  21. event EventHandler<byte[]> PreviewCameraCaptured;
  22. /// <summary>
  23. /// Raised when Camera Preview Image Size Changed
  24. /// </summary>
  25. event EventHandler<ImageSize> CameraPreviewImageSizeChanged;
  26. /// <param name="enableCameraLive"></param>
  27. /// <param name="cameraId"></param>
  28. /// <param name="micId"></param>
  29. /// <param name="showPreviewImage"></param>
  30. /// <param name="enableLiveVideo"></param>
  31. /// <param name="isMute"></param>
  32. void ChangeCameraSettings(bool enableCameraLive, string cameraId, string micId, bool showPreviewImage, bool enableLiveVideo, bool isMute);
  33. /// <summary>
  34. /// Change Camera Setting
  35. /// </summary>
  36. /// <param name="infos"></param>
  37. void ChangeCameraSettingsForSonopost(bool showPreviewImage, EnumLiveChannelCategory previewLiveChannel, IEnumerable<CPVideoDeviceInfo> infos, RainbowImageDetectConfig rainbowImageDetectConfig, string micId, bool isMute);
  38. /// <summary>
  39. /// Speed live test network and auto select good network to server
  40. /// </summary>
  41. /// <returns></returns>
  42. bool StartSpeedTest();
  43. /// <summary>
  44. /// 获取品牌列表
  45. /// </summary>
  46. /// <returns></returns>
  47. List<string> GetBrandList();
  48. /// <summary>
  49. /// 获取型号列表
  50. /// </summary>
  51. /// <param name="brand"></param>
  52. /// <param name="model"></param>
  53. /// <returns></returns>
  54. List<string> GetModelList(string brand);
  55. /// <summary>
  56. /// 获取推荐分辨率
  57. /// </summary>
  58. /// <param name="brand"></param>
  59. /// <param name="model"></param>
  60. /// <returns></returns>
  61. DeviceRecommandResolution GetRecommandResolution(string brand, string model);
  62. }
  63. }