TXLivePlayConfig.h 4.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495
  1. /*
  2. * Module: TXLivePlayConfig @ TXLiteAVSDK
  3. *
  4. * Function: 腾讯云直播播放器的参数配置模块
  5. *
  6. * Version: <:Version:>
  7. */
  8. #import <Foundation/Foundation.h>
  9. /// @defgroup TXLivePlayConfig_ios TXLivePlayConfig
  10. /// 腾讯云直播播放器的参数配置模块
  11. /// @{
  12. /**
  13. * 腾讯云直播播放器的参数配置模块
  14. *
  15. * 主要负责 TXLivePlayer 对应的参数设置,其中绝大多数设置项在播放开始之后再设置是无效的。
  16. */
  17. @interface TXLivePlayConfig : NSObject
  18. /////////////////////////////////////////////////////////////////////////////////
  19. //
  20. // 常用设置项
  21. //
  22. /////////////////////////////////////////////////////////////////////////////////
  23. ///【字段含义】播放器缓存时间,单位秒,取值需要大于0,默认值:5
  24. @property(nonatomic, assign) float cacheTime;
  25. ///【字段含义】是否自动调整播放器缓存时间,默认值:YES
  26. /// YES:启用自动调整,自动调整的最大值和最小值可以分别通过修改 maxCacheTime 和 minCacheTime 来设置
  27. /// NO:关闭自动调整,采用默认的指定缓存时间(1s),可以通过修改 cacheTime 来调整缓存时间
  28. @property(nonatomic, assign) BOOL bAutoAdjustCacheTime;
  29. ///【字段含义】播放器缓存自动调整的最大时间,单位秒,取值需要大于0,默认值:5
  30. @property(nonatomic, assign) float maxAutoAdjustCacheTime;
  31. ///【字段含义】播放器缓存自动调整的最小时间,单位秒,取值需要大于0,默认值为1
  32. @property(nonatomic, assign) float minAutoAdjustCacheTime;
  33. ///【字段含义】播放器视频卡顿报警阈值,单位毫秒
  34. ///【推荐取值】800
  35. ///【特别说明】只有渲染间隔超过这个阈值的卡顿才会有 PLAY_WARNING_VIDEO_PLAY_LAG 通知
  36. @property(nonatomic, assign) int videoBlockThreshold;
  37. ///【字段含义】播放器遭遇网络连接断开时 SDK 默认重试的次数,取值范围1 - 10,默认值:3。
  38. @property(nonatomic, assign) int connectRetryCount;
  39. ///【字段含义】网络重连的时间间隔,单位秒,取值范围3 - 30,默认值:3。
  40. @property(nonatomic, assign) int connectRetryInterval;
  41. ///【字段含义】是否开启回声消除, 默认值为 NO
  42. @property(nonatomic, assign) BOOL enableAEC;
  43. ///【字段含义】是否开启消息通道, 默认值为 NO
  44. @property(nonatomic, assign) BOOL enableMessage;
  45. ///【字段含义】是否开启 MetaData 数据回调,默认值为 NO。
  46. /// YES:SDK 通过 EVT_PLAY_GET_METADATA 消息抛出视频流的 MetaData 数据;
  47. /// NO:SDK 不抛出视频流的 MetaData 数据。
  48. /// 标准直播流都会在最开始的阶段有一个 MetaData 数据头,该数据头支持定制。
  49. /// 您可以通过 TXLivePushConfig 中的 metaData 属性设置一些自定义数据,再通过 TXLivePlayListener 中的
  50. /// onPlayEvent(EVT_PLAY_GET_METADATA) 消息接收到这些数据。
  51. ///【特别说明】每条音视频流中只能设置一个 MetaData 数据头,除非断网重连,否则 TXLivePlayer 的 EVT_PLAY_GET_METADATA 消息也只会收到一次。
  52. @property(nonatomic, assign) BOOL enableMetaData;
  53. ///【字段含义】视频渲染对象回调的视频格式,默认值:kCVPixelFormatType_420YpCbCr8Planar
  54. ///【特别说明】支持:kCVPixelFormatType_420YpCbCr8Planar 和 kCVPixelFormatType_420YpCbCr8BiPlanarFullRange
  55. @property(nonatomic, assign) OSType playerPixelFormatType;
  56. /////////////////////////////////////////////////////////////////////////////////
  57. //
  58. // 待废弃设置项
  59. //
  60. /////////////////////////////////////////////////////////////////////////////////
  61. ///【字段含义】是否开启就近选路,待废弃,默认值:YES
  62. @property(nonatomic, assign) BOOL enableNearestIP;
  63. ///【字段含义】RTMP 传输通道的类型,待废弃,默认值为:RTMP_CHANNEL_TYPE_AUTO
  64. @property (nonatomic, assign) int rtmpChannelType;
  65. #if TARGET_OS_IPHONE
  66. ///【字段含义】视频缓存目录,点播 MP4、HLS 有效
  67. @property NSString *cacheFolderPath;
  68. ///【字段含义】最多缓存文件个数,默认值:0
  69. @property int maxCacheItems;
  70. ///【字段含义】自定义 HTTP Headers
  71. @property NSDictionary *headers;
  72. #endif
  73. @end
  74. /// @}