跳转至
400-881-9892

文档中心

官方文档,可查阅产品介绍、快速入门、用户指南、开发指南、API参考、SDK参考、帮助等信息。

文档中心 互动课堂

Share and play media streams.md

startShareMediaFile
  • Brief description

Publish a media stream file

The media stream file must have been uploaded to the server. You can listen to the notification: TKWhiteBoardFileListNotification. After entering the room, the SDK will notify all the document lists in the room Publish callback: 1.  Received media stream sharing and media publishing status changes -(void)roomManagerOnShareMediaState:(NSString )peerId state:(TKMediaState)state extensionMessage:(NSDictionary )message 2.  Media stream total duration, progress, and whether it is paused: -(void)roomManagerUpdateMediaStream:(NSTimeInterval)duration pos:(NSTimeInterval)pos isPlay:(BOOL)isPlay 3.  Callback for when the media stream loads the first frame -(void)roomManagerMediaLoaded

  • Interface name
1
2
3
4
5
     - (int)startShareMediaFile:(NSString *)mediaPath
                    isVideo:(BOOL)isVideo
                       toID:(NSString *)toID
                 attributes:(NSDictionary *)attributes
                      block:(completion_block _Nullable)completion;
  • Parameter
Parameter Name Required Type Description
mediaPath Yes NSString File path (listen to the notification: TKWhiteBoardFileListNotification to obtain the file)
isVideo Yes BOOL Whether it is a video file
toID Yes NSString The object for sharing the media stream, of type NSString. For detailed definitions, refer to TKRoomDefines.h. It can be a specific user ID, indicating that this signaling is sent only to that user
attributes Yes NSDictionary Additional parameters, such as file ID, file name, etc
completion No completion_block Completion callback
  • Method Example
1
2
3
4
5
6
7
8
    [_roomMgr startShareMediaFile:@"upload0/aasd/addf.mp4"
                          isVideo:YES
                             toID:TKRoomPubMsgTellAll
                       attributes:@{@"fileid" : @"文件ID",
                                     @"filename" : @"文件名称",
                                    @"pauseWhenOver" : @(YES)           //Indicates whether to stay on the last frame after the video playback is completed
                                   }
                           block:nil];
  • Return Value Description
Type Description
int 0: Indicates that the call was successful. Non-zero: Indicates that the call failed

stopShareMediaFile

  • Brief description

Stop publishing the media stream file

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

  • Interface name

- (int)stopShareMediaFile:(completion_block _Nullable)completion;

  • Parameter
Parameter Name Required Type Description
completion No completion_block Completion callback
  • Method Example

[_roomMgr stopShareMediaFile:nil];

  • Return Value Description
Type Description
int 0: Indicates that the call was successful. Non-zero: Indicates that the call failed

playMediaFile

  • Brief description

Play the media stream file shared by the user

When receiving the callback for a user sharing a media stream: -(void)roomManagerOnShareMediaState:(NSString )peerId state:(TKMediaState)state extensionMessage:(NSDictionary )message call the interface to play the video

  • Interface name
1
2
3
4
- (int)playMediaFile:(NSString *)peerId
            renderType:(TKRenderMode)renderType
                window:(UIView *)window
             completion:(completion_block _Nullable)completion;
  • Parameter
Parameter Name Required Type Description
peerId Yes NSString User ID
renderType Yes TKRenderMode Rendering Mode
window Yes UIView Rendering window for the video
completion No completion_block Completion callback
  • Method Example
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];
  • Return Value Description
Type Description
int 0: Indicates that the call was successful. Non-zero: Indicates that the call failed

unPlayMediaFile

  • Brief description

Stop playing the shared media stream file

  • Interface name

- (int)unPlayMediaFile:(NSString *)peerId completion:(completion_block _Nullable)completion;

  • Parameter
Parameter Name Required Type Description
peerId Yes NSString User ID
completion No completion_block Completion callback
  • Method Example

[_roomMgr unPlayMediaFile:@"adc123456" completion:nil];

  • Return Value Description
Type Description
int 0: Indicates that the call was successful. Non-zero: Indicates that the call failed

pauseMediaFile

  • Brief description

Pause playing the shared media stream file

  • Interface name

- (int)pauseMediaFile:(BOOL)pause;

  • Parameter
Parameter Name Required Type Description
pause Yes BOOL Whether to pause
  • Method Example

[_roomMgr pauseMediaFile:NO];

  • Return Value Description
Type Description
int 0: Indicates that the call was successful. Non-zero: Indicates that the call failed

seekMediaFile

  • Brief description

Seek the progress of the shared media stream file

  • Interface name

- (int)seekMediaFile:(NSTimeInterval)pos;

  • Parameter
Parameter Name Required Type Description
pos Yes NSTimeInterval The time progress for seek
  • Method Example

[_roomMgr seekMediaFile:1000];

  • Return Value Description
Type Description
int 0: Indicates that the call was successful. Non-zero: Indicates that the call failed

Notes

For more return error codes, please refer to the error code descriptions in TKRoomErrorCode