跳转至

分享和播放媒体流

最近更新时间:2022-01-25 15:14:33 星期二

startShareMediaFile

简要描述
- 发布媒体流文件

此媒体流文件需已上传到服务器,可以监听通知:TKWhiteBoardFileListNotification,进房间后,SDK会通知房间里所有的课件列表
- 发布回调:
1、 收到媒体流共享,媒体发布状态的变化
-(void)roomManagerOnShareMediaState:(NSString )peerId state:(TKMediaState)state extensionMessage:(NSDictionary )message
2、媒体流总时长、进度、是否暂停
-(void)roomManagerUpdateMediaStream:(NSTimeInterval)duration pos:(NSTimeInterval)pos isPlay:(BOOL)isPlay
3、媒体流加载出第一帧画面回调
-(void)roomManagerMediaLoaded

接口名称

1
2
3
4
5
 - (int)startShareMediaFile:(NSString *)mediaPath
                    isVideo:(BOOL)isVideo
                       toID:(NSString *)toID
                 attributes:(NSDictionary *)attributes
                      block:(completion_block _Nullable)completion;

参数

参数名 必填 类型 说明
mediaPath NSString 文件路径(监听通知:TKWhiteBoardFileListNotification,获取文件)
isVideo BOOL 是否是视频文件
toID NSString 分享媒体流的对象,NSString类型,详情见 TKRoomDefines.h 相关定义. 可以是某一用户ID,表示此信令只发送给该用户
attributes NSDictionary 附加参数,例如文件ID,文件名称等
completion completion_block 调用完成回调

方法示例

1
2
3
4
5
6
7
8
    [_roomMgr startShareMediaFile:@"upload0/aasd/addf.mp4"
                          isVideo:YES
                             toID:TKRoomPubMsgTellAll
                       attributes:@{@"fileid" : @"文件ID",
                                     @"filename" : @"文件名称",
                                    @"pauseWhenOver" : @(YES)           //表示视频播放完成后,是否需要停在最后一帧
                                   }
                           block:nil];
返回值说明

类型 说明
int 0:表示调用成功,非0:表示调用失败

stopShareMediaFile

简要描述
- 停止发布媒体流文件

回调: -(void)roomManagerOnShareMediaState:(NSString )peerId state:(TKMediaState)state extensionMessage:(NSDictionary )message

接口名称
- - (int)stopShareMediaFile:(completion_block _Nullable)completion;

参数

参数名 必填 类型 说明
completion completion_block 调用完成的回调

方法示例

1
    [_roomMgr stopShareMediaFile:nil];
返回值说明

类型 说明
int 0:表示调用成功,非0:表示调用失败

playMediaFile

简要描述
- 播放用户分享的媒体流文件

收到用户分享的媒体流回调:-(void)roomManagerOnShareMediaState:(NSString )peerId state:(TKMediaState)state extensionMessage:(NSDictionary )message时,调用接口去播放视频

接口名称

1
2
3
4
- (int)playMediaFile:(NSString *)peerId
            renderType:(TKRenderMode)renderType
                window:(UIView *)window
             completion:(completion_block _Nullable)completion;

参数

参数名 必填 类型 说明
peerId NSString 用户ID
renderType TKRenderMode 渲染模式
window UIView 渲染视频的窗口
completion completion_block 调用完成的回调

方法示例

1
2
3
4
5
6
    UIView *view = [[UIView alloc] initWithFrame:self.view.bounds];
    self.view addSubview:view];
    [_roomMgr playMediaFile:@"adc123456"
                      renderType:TKRenderMode_fit
                            window:view
                       completion:nil];
返回值说明

类型 说明
int 0:表示调用成功,非0:表示调用失败

unPlayMediaFile

简要描述
- 停止播放分享的媒体流文件

接口名称
- - (int)unPlayMediaFile:(NSString *)peerId completion:(completion_block _Nullable)completion;

参数

参数名 必填 类型 说明
peerId NSString 用户ID
completion completion_block 调用完成的回调

方法示例

1
    [_roomMgr unPlayMediaFile:@"adc123456" completion:nil];
返回值说明

类型 说明
int 0:表示调用成功,非0:表示调用失败

pauseMediaFile

简要描述
- 暂停播放共享的媒体流文件

接口名称
- - (int)pauseMediaFile:(BOOL)pause;

参数

参数名 必填 类型 说明
pause BOOL 是否暂停

方法示例

1
    [_roomMgr pauseMediaFile:NO];
返回值说明

类型 说明
int 0:表示调用成功,非0:表示调用失败

seekMediaFile

简要描述
- seek分享的媒体流文件进度

接口名称
- - (int)seekMediaFile:(NSTimeInterval)pos;

参数

参数名 必填 类型 说明
pos NSTimeInterval seek的时间进度

方法示例

1
    [_roomMgr seekMediaFile:1000];
返回值说明

类型 说明
int 0:表示调用成功,非0:表示调用失败

备注

© 2016-2023 北京拓课网络科技有限公司 版权所有  京ICP备17018423号-1 京公网安备11010502043461号