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