播放控制
adjustPlayoutVolume:
adjustPublishSignalVolume:
mute:
pause
play
播放媒体文件。
Objective-C
- (int)play;
调用时机
- 在调用 open:startPos: 或 openWithMediaSource: 打开媒体文件、且收到 AgoraRtcMediaPlayer:didChangedToState:reason: 回调报告状态为 AgoraMediaPlayerStateOpenCompleted 后,调用该方法。
- 在调用 seekToPosition: 后调用该方法。
调用限制
无。
返回值
- 0: 方法调用成功。
- < 0: 方法调用失败。详见错误码了解详情和解决建议。
playPreloadedSrc:
播放预加载的媒体资源。
Objective-C
- (int)playPreloadedSrc:(NSString *)src;
详情
调用 preloadSrc:startPos: 方法将媒体资源预加载到播放列表后,可以调用该方法播放已预加载的媒体资源。调用该方法后,如果你收到 AgoraRtcMediaPlayer:didChangedToState:reason: 回调报告状态 AgoraMediaPlayerStatePlaying,则表示播放成功。
如果你想更换播放的预加载媒体资源,你可以再次调用该方法并指定新的媒体资源路径。如果你想重新播放媒体资源,你需要在播放前调用 preloadSrc:startPos: 重新将该媒体资源预加载到播放列表。如果你想清空播放列表,请调用 stop。
信息
如果你在播放暂停时调用该方法,该方法会在恢复播放后才生效。
参数
- src
- 播放列表中的媒体资源 URL 地址,必须与 preloadSrc:startPos: 方法设置的 src 一致,否则无法播放。
返回值
- 0: 方法调用成功。
- < 0: 方法调用失败。详见错误码了解详情和解决建议。
seekToPosition:
定位到媒体文件的指定播放位置。
Objective-C
- (void)seekToPosition:(NSInteger)position;
- 如果你在播放已经完成后(收到 AgoraRtcMediaPlayer:didChangedToState:reason: 回调报告播放状态为 AgoraMediaPlayerStatePlayBackCompleted 或 AgoraMediaPlayerStatePlayBackAllLoopsCompleted)再调用 seekToPosition:,方法调用成功后,SDK 会从你指定的位置开始自动播放,此时你会收到 AgoraRtcMediaPlayer:didChangedToState:reason: 回调报告播放状态为 AgoraMediaPlayerStatePlaying。
- 如果你在播放暂停的情况下调用 seekToPosition:,调用成功后 SDK 会定位到你指定位置,如需播放,请调用 resume 或 play。
调用时机
该方法在加入频道前后均可调用。
调用限制
无。
相关回调
成功调用该方法后,你会收到 AgoraRtcMediaPlayer:didOccurEvent:elapsedTime:message: 回调,报告当前播放器发生的事件,如定位开始、定位成功或定位失败。
参数
- position
- 指定的位置(毫秒)。
返回值
- 0: 方法调用成功。
- < 0: 方法调用失败。详见错误码了解详情和解决建议。
stop
停止播放。
Objective-C
- (void)stop;
调用该方法停止播放后,如需重新播放,需要调用 open:startPos: 或 openWithMediaSource: 再次打开媒体资源。
调用时机
该方法需要在 play 之后调用。
调用限制
无。
返回值
- 0: 方法调用成功。
- < 0: 方法调用失败。详见错误码了解详情和解决建议。
AgoraRtcMediaPlayerCustomSourceOnSeekCallback
定位媒体资源数据回调。
Objective-C
typedef long long(^AgoraRtcMediaPlayerCustomSourceOnSeekCallback)(id<AgoraRtcMediaPlayerProtocol> _Nonnull playerKit, long long offset, int whence);
详情
使用 openWithMediaSource: 或 open:startPos: 打开媒体资源时,SDK 会触发该回调,向你请求定位到媒体资源中的指定位置。
参数
- playerKit
- 媒体播放器协议。详见 AgoraRtcMediaPlayerProtocol。
- offset
- 输入参数。定位位置相对于起点的偏移量,单位为字节。取值可正可负。
- whence
- 输入参数。表示定位的起点位置。可以为如下值:
- 0:起点为数据的头,定位后的实际数据偏移量为 offset。
- 1:起点为当前位置,定位后的实际数据偏移量为当前位置加上 offset。
- 2:起点为数据的尾,定位后的实际数据偏移量为文件长度加上 offset。
- 65536:不执行定位操作,返回文件大小。建议在播放 MP3、WAV 等纯音频文件时使用该参数值。
返回值
- 当 whence 为 65536 时,返回媒体文件大小。
- 当 whence 为 0/1/2 时,返回实际定位后的数据偏移量。
- -1:定位失败。