播放器控制
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 状态,表示播放成功。 如果你想更换要播放的预加载媒体资源,可以再次调用该方法并传入新的媒体资源 URL。若想重新播放该媒体资源,需要先调用 preloadSrc 重新预加载资源。 如需清空播放列表,请调用 stop 方法。
信息
如果在播放暂停时调用该方法,该方法在播放恢复之前不会生效。
参数
- src
- 播放列表中媒体资源的 URL,必须与通过 preloadSrc 设置的
src保持一致,否则无法播放该媒体资源。
返回值
- 0:方法调用成功。
- < 0:方法调用失败。详见错误码了解详情和解决建议。
resume
seek
跳转到新的播放位置。
C++
virtual int seek(int64_t newPos) = 0;
如果在播放完成后调用 seek(即收到回调 onPlayerSourceStateChanged 报告播放状态为 PLAYER_STATE_PLAYBACK_COMPLETED 或 PLAYER_STATE_PLAYBACK_ALL_LOOPS_COMPLETED),SDK 会从指定位置重新开始播放媒体文件,并触发 onPlayerSourceStateChanged 回调,报告播放状态为 PLAYER_STATE_PLAYING。 如果在播放暂停时调用 seek,调用成功后,SDK 会跳转到指定位置。要恢复播放,请调用 resume 或 play。
调用时机
你可以在加入频道前或后调用该方法。
相关回调
成功调用该方法后,SDK 会触发 onPlayerEvent 回调,报告跳转到新播放位置的结果。
参数
- newPos
- 新的播放位置,单位为毫秒。
返回值
- 0:方法调用成功。
- < 0:方法调用失败。详见错误码了解详情和解决建议。
stop
停止播放媒体轨道。
C++
virtual int stop() = 0;
调用该方法停止播放后,如需再次播放,需要调用 open 或 openWithMediaSource 重新打开媒体资源。
调用时机
在播放后调用该方法。
返回值
- 0:方法调用成功。
- < 0:方法调用失败。详见错误码了解详情和解决建议。
onSeek
定位媒体资源数据时触发的回调。
C++
virtual int64_t onSeek(int64_t offset, int whence) = 0;
该回调在调用 openWithMediaSource 或 open 打开自定义媒体资源时触发,用于请求媒体资源中指定位置的数据。
参数
- offset
- 目标位置相对于起始点的偏移量,单位为字节。该值可以为正数或负数。
- whence
- 起始点,可设置为以下值之一:
- 0:起始点为数据开头,定位后的实际数据偏移量为
offset。 - 1:起始点为当前位置,定位后的实际数据偏移量为当前位置加
offset。 - 2:起始点为数据末尾,定位后的实际数据偏移量为整个数据长度加
offset。 - 65536:不执行定位操作,返回文件大小。建议在播放 MP3、WAV 等纯音频文件时使用该值。
- 0:起始点为数据开头,定位后的实际数据偏移量为
返回值
whence为65536时,返回媒体文件大小。whence为0、1或2时,返回定位后的实际数据偏移量。- -1:定位失败。