TXLivePlayer.h 2.19 KB
#import <Foundation/Foundation.h>
#import <UIKit/UIKit.h>
#import "TXLivePlayListener.h"
#import "TXLivePlayConfig.h"


typedef NS_ENUM(NSInteger, TX_Enum_PlayType) {
    PLAY_TYPE_LIVE_RTMP = 0,          //RTMP直播
    PLAY_TYPE_LIVE_FLV,               //FLV直播
    PLAY_TYPE_VOD_FLV,                //FLV点播
};

@interface TXLivePlayer : NSObject

@property (nonatomic, weak)     id<TXLivePlayListener>  delegate;

@property (nonatomic, assign)   BOOL            enableHWAcceleration;

@property (nonatomic, copy)     TXLivePlayConfig *      config;

/* setupVideoWidget 创建Video渲染Widget,该控件承载着视频内容的展示。
 * 参数:
 *      frame : Widget在父view中的rc
 *      view : 父view
 */
-(void) setupVideoWidget:(CGRect)frame ContainView:(UIView*)view InsertIndex:(unsigned int)idx;

/* 修改VideoWidget frame
 */
-(void) resetVideoWidgetFrame:(CGRect)frame;

/* removeVideoWidget 移除Video渲染Widget
 */
-(void) removeVideoWidget;


/* startPlay 启动从指定URL播放RTMP音视频流
 * 参数:
 *      url : 完整的URL
 *      playType: 播放类型
 * 返回: 0 = OK
 */
-(int) startPlay:(NSString*)url Type:(TX_Enum_PlayType)playType;


/* stopPlay 停止播放音视频流
 * 返回: 0 = OK
 */
-(int) stopPlay;

/* isPlaying 是否正在播放
 * 返回: YES 拉流中,NO 没有拉流
 */
-(bool) isPlaying;

/* pause 暂停播放,适用于点播
 *
 */
-(void) pause;

/* resume 继续播放,适用于点播
 *
 */
-(void) resume;

/*
 seek 播放跳转到音视频流某个时间
 * time: 流时间,单位为秒
 * 返回: 0 = OK
 */
-(int) seek:(float)time;


/*
* setRenderRotation 设置画面的方向
 * 参数:
 *       rotation : 角度 0,90,180,270.
 */
-(void) setRenderRotation:(int)rotation;

/* setRenderMode 设置画面的裁剪模式
 * 参数
 *       renderMode : 详见 TX_Enum_Type_RenderMode 的定义。
 */
-(void) setRenderMode:(int)renderMode;

/* setLogLevel 设置log输出级别
 *  level:参见 LOGLEVEL
 *
 */
-(void) setLogLevel:(TX_Enum_Type_LogLevel) level;

/* getSDKVersion 获取SDK版本信息
 *
 */
-(NSArray*) getSDKVersion;

@end