IMediaPlayerSourceObserver

Provides callbacks for media players.

onAudioVolumeIndication

Reports the volume of the media player.

virtual void onAudioVolumeIndication(int volume) = 0;

The SDK triggers this callback every 200 milliseconds to report the current volume of the media player.

Parameters

volume
The volume of the media player. The value ranges from 0 to 255.

onMetaData

Occurs when the media metadata is received.

virtual void onMetaData(const void* data, int length) = 0;

The callback occurs when the player receives the media metadata and reports the detailed information of the media metadata.

Parameters

data
The detailed data of the media metadata.
length
The data length (bytes).

onPlayBufferUpdated

Reports the playback duration that the buffered data can support.

virtual void onPlayBufferUpdated(int64_t playCachedBuffer) = 0;
When playing online media resources, the SDK triggers this callback every two seconds to report the playback duration that the currently buffered data can support.
  • When the playback duration supported by the buffered data is less than the threshold (0 by default), the SDK returns PLAYER_EVENT_BUFFER_LOW (6).
  • When the playback duration supported by the buffered data is greater than the threshold (0 by default), the SDK returns PLAYER_EVENT_BUFFER_RECOVER (7).

Parameters

playCachedBuffer
The playback duration (ms) that the buffered data can support.

onPlayerCacheStats

Reports the statistics of the media file being cached.

virtual void onPlayerCacheStats(const media::base::CacheStatistics& stats) {
    (void)stats;
  }

Details

After you call the openWithMediaSource method and set enableCache as true, the SDK triggers this callback once per second to report the statistics of the media file being cached.

Parameters

stats
The statistics of the media file being cached. See CacheStatistics.

onPlayerEvent

Reports the player events.

virtual void onPlayerEvent(media::base::MEDIA_PLAYER_EVENT eventCode, int64_t elapsedTime, const char* message) = 0;
  • After calling the seek method, the SDK triggers the callback to report the results of the seek operation.

Parameters

eventCode
The player event. See MEDIA_PLAYER_EVENT.
elapsedTime
The time (ms) when the event occurs.
message
Information about the event.

onPlayerInfoUpdated

Occurs when information related to the media player changes.

virtual void onPlayerInfoUpdated(const media::base::PlayerUpdatedInfo& info) = 0;

When the information about the media player changes, the SDK triggers this callback. You can use this callback for troubleshooting.

Parameters

info
Information related to the media player. See PlayerUpdatedInfo.

onPlayerPlaybackStats

The statistics of the media file being played.

virtual void onPlayerPlaybackStats(const media::base::PlayerPlaybackStats& stats) {
    (void)stats;
  }

Details

The SDK triggers this callback once per second to report the statistics of the media file being played.

Parameters

stats
The statistics of the media file. See PlayerPlaybackStats.

onPlayerSourceStateChanged

Reports the changes of playback state.

virtual void onPlayerSourceStateChanged(media::base::MEDIA_PLAYER_STATE state,
                                          media::base::MEDIA_PLAYER_REASON reason) = 0;

When the state of the media player changes, the SDK triggers this callback to report the current playback state.

Parameters

state
The playback state. See MEDIA_PLAYER_STATE.
reason
The reason for the changes in the media player status. See MEDIA_PLAYER_REASON.

onPlayerSrcInfoChanged

Occurs when the video bitrate of the media resource changes.

virtual void onPlayerSrcInfoChanged(const media::base::SrcInfo& from, const media::base::SrcInfo& to) = 0;

Parameters

from
Information about the video bitrate of the media resource being played. See SrcInfo.
to
Information about the changed video bitrate of media resource being played. See SrcInfo.

onPositionChanged

Reports the playback progress of the media file.

virtual void onPositionChanged(int64_t positionMs, int64_t timestampMs) = 0;

When playing media files, the SDK triggers this callback every two second to report current playback progress.

Parameters

positionMs
The playback position (ms) of media files.
timeStampMs
The NTP timestamp (ms) of the current playback progress.

onPreloadEvent

Reports the events of preloaded media resources.

virtual void onPreloadEvent(const char* src, media::base::PLAYER_PRELOAD_EVENT event) = 0;

Parameters

src
The URL of the media resource.
event
Events that occur when media resources are preloaded. See PLAYER_PRELOAD_EVENT.