This page provides release notes for the Agora MediaPlayer Kit plugin.
The Agora MediaPlayer Kit is a media player plug-in developed for interactive live streaming scenes, and is compatible with the Agora Native SDK (v2.4.0 or later).
This plug-in helps developers enable the function of playing media resources in real-time interactive live streaming through the use of streamlined and flexible APIs, and synchronously sharing local or online media resources played by the host to all users in the channel. See function description for details.
To enrich the interactive live streaming playability and improve the real-time interactive experience, we recommend using the mediaplayer kit in the following scenarios:
v1.2.2 was released on January 13, 2021.
This release fixed incompatibility with Agora Native SDK v3.2.0 and later.
v1.2.1 was released on December 31, 2020.
Since this release, the libagora-ffmpeg.so
file has been added to the MediaPlayer Kit package. To upgrade to v1.2.1 or later, ensure that you copy the libagora-ffmpeg.so
file to the folder where the libAgoraMediaPlayer.so
file is located.
1. More playback features
To meet varied playback needs, this release adds the following APIs:
changePlaybackSpeed
: Change the playback speed, for example to double-speed playback.selectAudioTrack
: Select the audio track used during the playback.2. Reporting online buffering
This release adds the online buffering report. When playing online media resources, the MediaPlayer Kit triggers the onPlayBufferUpdated
callback every second to report how long the currently buffered data can support playback.
3. Getting the version number
Since this release, you can call getPlayerSdkVersion
to get the version number of the MediaPlayer Kit currently in use.
5. Setting log files
To support customizing log files, this release adds the following APIs:
setLogFile
: Specify the path of the log file.setLogFilter
: Set the filtering level of the output log file.1. Media metadata
To parse more types of the SEI (Supplemental Enhancement Information) data, such as the SEI data sent in the Agora CDN live streaming service, the trigger timing of the onMetaData
callback has been changed since this release:
Earlier than v1.2.1 | v1.2.1 or later |
---|---|
The type of SEI received by the MediaPlayer Kit is 5. | The type of SEI received by the MediaPlayer Kit is 5 or 100. |
2. Default volume type
To tailor to user habits, since this release, the MediaPlayer Kit uses the media volume by default. Compared with in-call volume, media volume has better sound performance and can be adjusted to 0, which is more suitable for playing media resources.
3. Getting playback progress
To allow developers to get more precise playback progress, since this release, the unit of the value returned by the getPlayPosition
method has been changed from seconds to milliseconds.
4. Playback formats
Since this release, the MediaPlayer Kit supports playing media resources in two more codec formats:
v1.1.4.0 was released on August 19, 2020.
Improvements and fixed issues are as follows:
v1.1.2 was released on Jun 15, 2020.
New features and improvements are as follows:
v1.1.1 was released on May 11, 2020.
This release fixed errors that occur when you play some special video files.
v1.1.0 was released on Feb 28, 2020.
This is the first release of the mediaplayer kit. You can use it in your project to enable the following functions:
To enrich the live playability, the host can synchronously share the playback of the local and online media resource with all users in the channel.
To meet various demands for a varied audience, the host can play multiple media resources simultaneously by creating multiple instances of AgoraMediaPlayerKit.
The host has access to real-time playback controls for opening the media resource, playing the media resource, pausing the playback, resuming the playback, and seeking to the new playback position of the media resource.
To precisely control the playback volume at different stages, the hosts can adjust the local and remote playback volume separately, which improves the user experience on both the playback and subscription ends.
The host can actively obtain various playback information, such as current playback progress, playback state, and detailed media stream information.
The observer class contains a series of events, such as playback progress, playback state, and the result of a seek operation to a new playback position. By listening for these events, you can have more control over the playback process. When an exception occurs, you can use these event callbacks for troubleshooting.
Besides, you can listen for events that report receiving the media metadata, each audio frame and each video frame. These events help you include more complex functions in multiple scenarios, such as using custom format data, recording audio, recording video, and screenshots.