400-881-9892

文档中心

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

文档中心 互动课堂

Play local audio and video files

    startPlayAudioFile
    • Brief description

    Play local audio files

    • Interface name

    - (int)startPlayAudioFile:(NSString *)filePath loop:(BOOL)loop progress:(progress_block _Nullable)progress;

    • Parameter
    Parameter Name Required Type Description
    filePath Yes NSString File Path
    loop Yes BOOL Whether to play in a loop
    progress No progress_block Callback for playback progress
    • Method Example
     1
     2
     3
     4
     5
     6
     7
     8
     9
    10
    11
    12
    13
    14
    15
    16
    17
    18
       NSString *path = [[NSBundle mainBundle] pathForResource:@"XXX" ofType:@"mp3"];
        int audioId = [_roomMgr startPlayAudioFile:path
                                              loop:NO
                                          progress:^(int playID, int64_t current, int64_t total) {
                                NSLog(@"playID = %d, 当前进度:%d, 总时长:%d", playID, current, total);
                           }];
        if (audioId == -1) {
            NSLog(@"播放失败!");
        }
        NSString *path = [[NSBundle mainBundle] pathForResource:@"XXX" ofType:@"mp3"];
        int audioId = [_roomMgr startPlayAudioFile:path
                                              loop:NO
                                          progress:^(int playID, int64_t current, int64_t total) {
                                NSLog(@"playID = %d, Current Progress:%d, Total Duration:%d", playID, current, total);
                           }];
        if (audioId == -1) {
            NSLog(@"Playback Failed!");
        }
    
    • Return Value Description
    Type Description
    int Return the playback audio identifier, the playback ID. If -1 is returned, it indicates playback failure.

    stopPlayAudioFile

    • Brief description

    Stop playing local audio

    • Interface name

    - (int)stopPlayAudioFile:(int)audioId;

    • Parameter
    Parameter Name Required Type Description
    audioId Yes int The playback ID returned when startPlayAudioFile succeeds; if this is -1, it indicates stopping all currently playing audio
    • Method Example

    [_roomMgr stopPlayAudioFile:1];

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

    pauseAudioFile

    • Brief description

    Pause audio playback

    • Interface name

    - (int)pauseAudioFile:(int)audioId;

    • Parameter
    Parameter Name Required Type Description
    audioId Yes int Playback ID
    • Method Example

    [_roomMgr pauseAudioFile:1];

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

    resumeAudioFile

    • Brief description

    Resume audio playback

    • Interface name

    - (int)resumeAudioFile:(int)audioId;

    • Parameter
    Parameter Name Required Type Description
    audioId Yes int Playback ID
    • Method Example

    [_roomMgr resumeAudioFile:1];

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

    setAudioFileVolume

    • Brief description

    Set the volume for audio playback

    • Interface name

    - (BOOL)setAudioFileVolume:(CGFloat)volume soundId:(int)audioId;

    • Parameter
    Parameter Name Required Type Description
    volume Yes CGFloat Volume level, range: 0.0 to 1.0, default is 1.0
    audioId No int Playback ID
    • Method Example

    [_roomMgr setAudioFileVolume:0.9 soundId:1];

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

    startPlayMediaFile

    • Brief description

    Play local media files

    Can play local audio or video files. Returns a playback ID

    • Interface name

    - (int)startPlayMediaFile:(NSString *)filePath window:(UIView * _Nullable)window loop:(BOOL)loop progress:(progress_block _Nullable)progress;

    - (int)startPlayMediaFile:(TKMediaFileParams *)params onStart:(TKLocalMediaState_block _Nullable)startBlock onProgress:(TKLocalMediaProgress_block _Nullable)progressBlock onComplete:(TKLocalMediaState_block _Nullable)completeBlock;

    • Parameter
    Parameter Name Required Type Description
    filePath Yes NSString File path
    window No UIView Video rendering window. If it's only audio, it can be nil.
    loop Yes BOOL Whether to loop playback
    params Yes TKMediaFileParams Playback parameters
    progress/onProgress No progress_block/TKLocalMediaProgress_block Playback progress callback
    onStart Yes TKLocalMediaState_block Playback start callback, including error information if playback fails
    onComplete No TKLocalMediaState_block Playback completion callback
    • Method Example
     1
     2
     3
     4
     5
     6
     7
     8
     9
    10
    11
    12
    13
    14
        NSString *path = [[NSBundle mainBundle] pathForResource:@"XXX" ofType:@"mp4"];
        UIView *view = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 100, 100)];
        view.backgroundColor = [UIColor blackColor];
        [self.view addSubview:view];
        [self.view bringSubviewToFront:view];
        int playID = [_roomMgr startPlayAudioFile:path
                                           window:view
                                             loop:NO
                                         progress:^(int playID, int64_t current, int64_t total) {
                                NSLog(@"playID = %d, 当前进度:%d, 总时长:%d", playID, current, total);
                           }];
        if (playID == -1) {
            NSLog(@"播放失败!");
        }
    
     1
     2
     3
     4
     5
     6
     7
     8
     9
    10
    11
    12
    13
    14
        NSString *path = [[NSBundle mainBundle] pathForResource:@"XXX" ofType:@"mp4"];
        UIView *view = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 100, 100)];
        view.backgroundColor = [UIColor blackColor];
        [self.view addSubview:view];
        [self.view bringSubviewToFront:view];
        int playID = [_roomMgr startPlayAudioFile:path
                                           window:view
                                             loop:NO
                                         progress:^(int playID, int64_t current, int64_t total) {
                                NSLog(@"playID = %d, Current progress:%d, Total duration:%d", playID, current, total);
                           }];
        if (playID == -1) {
            NSLog(@" Playback failed!");
        }
    
    • Return Value Description
    Type Description
    int Return the playback identifier, i.e., the playback ID. If it returns -1, it indicates that playback has failed.

    stopPlayMediaFile

    • Brief description

    Stop playing the local media file

    • Interface name

    - (int)stopPlayMediaFile:(int)playID;

    • Parameter
    Parameter Name Required Type Description
    playID Yes int Playback ID
    • Method Example

    [_roomMgr stopPlayMediaFile:2];

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

    pausePlayMedia

    • Brief description

    Pause media playback

    • Interface name

    - (int)pausePlayMedia:(int)playID;

    • Parameter
    Parameter Name Required Type Description
    playID Yes int Playback ID
    • Method Example

    [_roomMgr pausePlayMedia:2];

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

    resumePlayMedia

    • Brief description

    Resume media playback

    • Interface name

    - (int)resumePlayMedia:(int)playID;

    • Parameter
    Parameter Name Required Type Description
    playID Yes int Playback ID
    • Method Example

    [_roomMgr resumePlayMedia:2];

    • Return Value Description

    seekPlayMedia

    • Brief description

    Seek the media playback

    • Interface name

    - (int)seekPlayMedia:(int)playID pos:(double)pos;

    • Parameter
    Parameter Name Required Type Description
    playID Yes int Playback ID
    pos Yes double Seek to the playback progress position
    • Method Example

    [_roomMgr seekPlayMedia:2 pos:0.4];

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

    setPlayMediaVolume

    • Brief description

    Set the volume of the media playback

    • Interface name

    - (int)setPlayMedia:(int)playID volume:(CGFloat)volume;

    • Parameter
    Parameter Name Required Type Description
    playID Yes int Playback ID
    volume Yes CGFloat Volume level, ranging from 0.0 to 1.0, with a default value of 1.0
    • Method Example

    [_roomMgr setPlayMedia:2 volume:0.9];

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

    Notes

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