Agora Java API Reference for Android
Public Member Functions | List of all members
io.agora.mediaplayer.IMediaPlayer Interface Reference
Inheritance diagram for io.agora.mediaplayer.IMediaPlayer:
io.agora.musiccontentcenter.IAgoraMusicPlayer

Public Member Functions

int getMediaPlayerId ()
 Gets the ID of the media player. More...
 
int open (Uri uri, long startPos)
 Opens a media file through a URI address. More...
 
int open (String url, long startPos)
 Opens the media resource. More...
 
int openWithMediaSource (MediaPlayerSource source)
 Opens a media file and configures the playback scenarios. More...
 
int play ()
 Plays the media file. More...
 
int pause ()
 Pauses the playback. More...
 
int stop ()
 Stops playing the media track. More...
 
int resume ()
 Resumes playing the media file. More...
 
int seek (long newPos)
 Seeks to a new playback position. More...
 
int setAudioPitch (int pitch)
 Sets the pitch of the current media resource. More...
 
int mute (boolean muted)
 Sets whether to mute the media file. More...
 
boolean getMute ()
 Reports whether the media resource is muted. More...
 
int adjustPlayoutVolume (int volume)
 Adjusts the local playback volume. More...
 
int getPlayoutVolume ()
 Gets the local playback volume. More...
 
long getPlayPosition ()
 Gets current local playback progress. More...
 
long getDuration ()
 Gets the duration of the media resource. More...
 
int getAudioBufferDelay ()
 Gets the audio buffer delay when playing the media file. More...
 
Constants.MediaPlayerState getState ()
 Gets current playback state. More...
 
int getStreamCount ()
 Gets the number of the media streams in the media resource. More...
 
int setView (View videoView)
 Sets the view. More...
 
int setRenderMode (int mode)
 Sets the render mode of the media player. More...
 
MediaStreamInfo getStreamInfo (int index)
 Gets the detailed information of the media stream. More...
 
int setLoopCount (int loopCount)
 Sets the loop playback. More...
 
int setPlaybackSpeed (int speed)
 Sets the channel mode of the current audio file. More...
 
int selectAudioTrack (int index)
 Selects the audio track used during playback. More...
 
int selectMultiAudioTrack (int playoutTrackIndex, int publishTrackIndex)
 Selects the audio tracks that you want to play on your local device and publish to the channel respectively. More...
 
int setPlayerOption (String key, int value)
 Sets media player options. More...
 
int setPlayerOptionString (String key, String value)
 Sets media player options. More...
 
int takeScreenshot (String filename)
 
int selectInternalSubtitle (int index)
 
int setExternalSubtitle (String url)
 
int adjustPublishSignalVolume (int volume)
 Adjusts the volume of the media file for publishing. More...
 
int getPublishSignalVolume ()
 Gets the volume of the media file for publishing. More...
 
String getPlaySrc ()
 Gets the path of the media resource being played. More...
 
int switchSrc (String src, boolean syncPts)
 Switches the media resource being played. More...
 
int preloadSrc (String src, long startPos)
 Preloads a media resource. More...
 
int playPreloadedSrc (String src)
 Plays preloaded media resources. More...
 
int unloadSrc (String src)
 Unloads media resources that are preloaded. More...
 
int destroy ()
 Destroys the media player instance. More...
 
int registerPlayerObserver (IMediaPlayerObserver playerObserver)
 Registers a media player observer. More...
 
int unRegisterPlayerObserver (IMediaPlayerObserver playerObserver)
 Releases a media player observer. More...
 
int registerAudioFrameObserver (IMediaPlayerAudioFrameObserver audioFrameObserver, int mode)
 Registers an audio frame observer object. More...
 
int registerMediaPlayerAudioSpectrumObserver (IAudioSpectrumObserver observer, int intervalInMS)
 
int unregisterMediaPlayerAudioSpectrumObserver (IAudioSpectrumObserver observer)
 
int setAudioDualMonoMode (int mode)
 Sets the channel mode of the current audio file. More...
 
int registerVideoFrameObserver (IMediaPlayerVideoFrameObserver videoFrameObserver)
 Registers a video frame observer object. More...
 
int openWithAgoraCDNSrc (String src, long startPos)
 
int getAgoraCDNLineCount ()
 
int switchAgoraCDNLineByIndex (int index)
 
int getCurrentAgoraCDNIndex ()
 
int enableAutoSwitchAgoraCDN (boolean enable)
 
int renewAgoraCDNSrcToken (String token, long ts)
 
int switchAgoraCDNSrc (String src, boolean syncPts)
 
int setSpatialAudioParams (SpatialAudioParams params)
 Enables or disables the spatial audio effect for the media player. More...
 

Member Function Documentation

◆ getMediaPlayerId()

int io.agora.mediaplayer.IMediaPlayer.getMediaPlayerId ( )

Gets the ID of the media player.

Returns
  • Success. The ID of the media player.
  • < 0: Failure.

◆ open() [1/2]

int io.agora.mediaplayer.IMediaPlayer.open ( Uri  uri,
long  startPos 
)

Opens a media file through a URI address.

Note
This method is called asynchronously.
Parameters
uriThe URI (Uniform Resource Identifier) of the media file.
startPosThe starting position (ms) for playback. The default value is 0.
Returns
  • 0: Success.
  • < 0: Failure.

◆ open() [2/2]

int io.agora.mediaplayer.IMediaPlayer.open ( String  url,
long  startPos 
)

Opens the media resource.

This method supports playing URI files starting with content://. Call timing: This method can be called either before or after joining the channel. Related callbacks: After calling this method, the SDK triggers the onPlayerStateChanged callback. After receiving the report of the playback status as PLAYER_STATE_OPEN_COMPLETED, you can call the play method to play the media file.

Note
This method is called asynchronously.
Parameters
urlThe path of the media file. Both local path and online path are supported.
startPosThe starting position (ms) for playback. Default value is 0.
Returns
  • 0: Success.
  • < 0: Failure.

Implemented in io.agora.musiccontentcenter.IAgoraMusicPlayer.

◆ openWithMediaSource()

int io.agora.mediaplayer.IMediaPlayer.openWithMediaSource ( MediaPlayerSource  source)

Opens a media file and configures the playback scenarios.

This method supports opening different types of media files, including URI files starting with content://, media files in the assets folder, and setting the playback options. Call timing: You can call this method either before or after joining a channel.

Note
This method is called asynchronously. If you need to play a media file, make sure you receive the onPlayerStateChanged callback reporting PLAYER_STATE_OPEN_COMPLETED before calling the play method to play the file.
Parameters
sourceMedia resources. See MediaPlayerSource.
Returns
  • 0: Success.
  • < 0: Failure.

◆ play()

int io.agora.mediaplayer.IMediaPlayer.play ( )

Plays the media file.

Call timing: - Call this method after calling open(String url, long startPos) or openWithMediaSource opening a media file and receiving a onPlayerStateChanged callback reporting the status as PLAYER_STATE_OPEN_COMPLETED.

  • Call the method after calling seek.
Returns
  • 0: Success.
  • < 0: Failure.

◆ pause()

int io.agora.mediaplayer.IMediaPlayer.pause ( )

Pauses the playback.

Call timing: You can call this method either before or after joining a channel.

Returns
  • 0: Success.
  • < 0: Failure.

◆ stop()

int io.agora.mediaplayer.IMediaPlayer.stop ( )

Stops playing the media track.

After calling this method to stop playback, if you want to play again, you need to call open(String url, long startPos) or openWithMediaSource to open the media resource. Call timing: Call this method after play.

Returns
  • 0: Success.
  • < 0: Failure.

Implemented in io.agora.musiccontentcenter.IAgoraMusicPlayer.

◆ resume()

int io.agora.mediaplayer.IMediaPlayer.resume ( )

Resumes playing the media file.

Returns
  • 0: Success.
  • < 0: Failure.

◆ seek()

int io.agora.mediaplayer.IMediaPlayer.seek ( long  newPos)

Seeks to a new playback position.

  • If you call seek after the playback has completed (upon receiving callback onPlayerStateChanged reporting playback status as PLAYER_STATE_PLAYBACK_COMPLETED or PLAYER_STATE_PLAYBACK_ALL_LOOPS_COMPLETED ), the SDK will play the media file from the specified position. At this point, you will receive callback onPlayerStateChanged reporting playback status as PLAYER_STATE_PLAYING.
  • If you call seek while the playback is paused, upon successful call of this method, the SDK will seek to the specified position. To resume playback, call resume or play . Call timing: You can call this method either before or after joining a channel. Related callbacks: After successfully calling this method, you will receive the onPlayerEvent callback, reporting the result of the seek operation to the new playback position.
Parameters
newPosThe new playback position (ms).
Returns
  • 0: Success.
  • < 0: Failure.

◆ setAudioPitch()

int io.agora.mediaplayer.IMediaPlayer.setAudioPitch ( int  pitch)

Sets the pitch of the current media resource.

Note
Call this method after calling open(String url, long startPos).
Parameters
pitchSets the pitch of the local music file by the chromatic scale. The default value is 0, which means keeping the original pitch. The value ranges from -12 to 12, and the pitch value between consecutive values is a chromatic value. The greater the absolute value of this parameter, the higher or lower the pitch of the local music file.
Returns
  • 0: Success.
  • < 0: Failure.

◆ mute()

int io.agora.mediaplayer.IMediaPlayer.mute ( boolean  muted)

Sets whether to mute the media file.

Call timing: You can call this method either before or after joining a channel.

Parameters
mutedWhether to mute the media file:
  • true: Mute the media file.
  • false: (Default) Unmute the media file.
Returns
  • 0: Success.
  • < 0: Failure.

◆ getMute()

boolean io.agora.mediaplayer.IMediaPlayer.getMute ( )

Reports whether the media resource is muted.

Returns
  • true: Reports whether the media resource is muted.
  • false: Reports whether the media resource is muted.

◆ adjustPlayoutVolume()

int io.agora.mediaplayer.IMediaPlayer.adjustPlayoutVolume ( int  volume)

Adjusts the local playback volume.

Call timing: This method can be called either before or after joining the channel.

Parameters
volumeThe local playback volume, which ranges from 0 to 100:
  • 0: Mute.
  • 100: (Default) The original volume.
Returns
  • 0: Success.
  • < 0: Failure.

◆ getPlayoutVolume()

int io.agora.mediaplayer.IMediaPlayer.getPlayoutVolume ( )

Gets the local playback volume.

Returns
The local playback volume, which ranges from 0 to 100.
  • 0: Mute.
  • 100: (Default) The original volume.

◆ getPlayPosition()

long io.agora.mediaplayer.IMediaPlayer.getPlayPosition ( )

Gets current local playback progress.

Returns
  • Returns the current playback progress (ms) if the call succeeds.
  • < 0: Failure. See MediaPlayerReason.

◆ getDuration()

long io.agora.mediaplayer.IMediaPlayer.getDuration ( )

Gets the duration of the media resource.

Returns
  • If the method call succeeds, the SDK returns the total duration(ms) of the media file.
  • < 0: Failure.

◆ getAudioBufferDelay()

int io.agora.mediaplayer.IMediaPlayer.getAudioBufferDelay ( )

Gets the audio buffer delay when playing the media file.

Returns
The audio buffer delay (ms), if the method call succeeds. < 0: An error occurs. You can use MediaPlayerReason to check the reason.

◆ getState()

Constants.MediaPlayerState io.agora.mediaplayer.IMediaPlayer.getState ( )

Gets current playback state.

Returns
The current playback state. See MediaPlayerState.

◆ getStreamCount()

int io.agora.mediaplayer.IMediaPlayer.getStreamCount ( )

Gets the number of the media streams in the media resource.

Note
Call this method after you call open(String url, long startPos) and receive the onPlayerStateChanged callback reporting the state PLAYER_STATE_OPEN_COMPLETED.
Returns
  • The number of the media streams in the media resource if the method call succeeds.
  • < 0: Failure. See MediaPlayerReason.

◆ setView()

int io.agora.mediaplayer.IMediaPlayer.setView ( View  videoView)

Sets the view.

Call timing: You can call this method either before or after joining a channel.

Parameters
videoViewThe render view.
Returns
  • 0: Success.
  • < 0: Failure.

◆ setRenderMode()

int io.agora.mediaplayer.IMediaPlayer.setRenderMode ( int  mode)

Sets the render mode of the media player.

Parameters
modeSets the render mode of the view:
  • RENDER_MODE_HIDDEN (1): Hidden mode. Uniformly scale the video until it fills the visible boundaries (cropped). One dimension of the video may have clipped contents.
  • RENDER_MODE_FIT (2): Fit mode. Uniformly scale the video until one of its dimension fits the boundary (zoomed to fit). Areas that are not filled due to the disparity in the aspect ratio are filled with black.
  • RENDER_MODE_ADAPTIVE (3): Adaptive mode. Deprecated: This enumerator is deprecated and not recommended for use.
Returns
  • 0: Success.
  • < 0: Failure.

◆ getStreamInfo()

MediaStreamInfo io.agora.mediaplayer.IMediaPlayer.getStreamInfo ( int  index)

Gets the detailed information of the media stream.

Call timing: Call this method after calling getStreamCount.

Parameters
indexThe index of the media stream. This parameter must be less than the return value of getStreamCount.
Returns
  • If the call succeeds, returns the detailed information of the media stream. See MediaStreamInfo.
  • NULL is returned, if the method call fails.

◆ setLoopCount()

int io.agora.mediaplayer.IMediaPlayer.setLoopCount ( int  loopCount)

Sets the loop playback.

If you want to loop, call this method and set the number of the loops. When the loop finishes, the SDK triggers onPlayerStateChanged and reports the playback state as PLAYER_STATE_PLAYBACK_ALL_LOOPS_COMPLETED.

Parameters
loopCountThe number of times the audio effect loops:
  • ≥ 0: Number of times for playing. For example, setting it to 0 means no loop playback, playing only once; setting it to 1 means loop playback once, playing a total of twice.
  • -1: Play the audio file in an infinite loop.
Returns
  • 0: Success.
  • < 0: Failure.

◆ setPlaybackSpeed()

int io.agora.mediaplayer.IMediaPlayer.setPlaybackSpeed ( int  speed)

Sets the channel mode of the current audio file.

Call this method after calling open(String url, long startPos).

Parameters
speedThe playback speed. Agora recommends that you set this to a value between 30 and 400, defined as follows:
  • 30: 0.3 times the original speed.
  • 100: The original speed.
  • 400: 4 times the original speed.
Returns
  • 0: Success.
  • < 0: Failure.

◆ selectAudioTrack()

int io.agora.mediaplayer.IMediaPlayer.selectAudioTrack ( int  index)

Selects the audio track used during playback.

After getting the track index of the audio file, you can call this method to specify any track to play. For example, if different tracks of a multi-track file store songs in different languages, you can call this method to set the playback language.

Note
You need to call this method after calling getStreamInfo to get the audio stream index value.
Parameters
indexThe index of the audio track.
Returns
  • 0: Success.
  • < 0: Failure.

◆ selectMultiAudioTrack()

int io.agora.mediaplayer.IMediaPlayer.selectMultiAudioTrack ( int  playoutTrackIndex,
int  publishTrackIndex 
)

Selects the audio tracks that you want to play on your local device and publish to the channel respectively.

You can call this method to determine the audio track to be played on your local device and published to the channel. Before calling this method, you need to open the media file with the openWithMediaSource method and set enableMultiAudioTrack in MediaPlayerSource as true. Applicable scenarios: For example, in KTV scenarios, the host can choose to play the original sound locally and publish the accompaniment track to the channel.

Parameters
playoutTrackIndexThe index of audio tracks for local playback. You can obtain the index through getStreamInfo.
publishTrackIndexThe index of audio tracks to be published in the channel. You can obtain the index through getStreamInfo.
Returns
  • 0: Success.
  • < 0: Failure.

◆ setPlayerOption()

int io.agora.mediaplayer.IMediaPlayer.setPlayerOption ( String  key,
int  value 
)

Sets media player options.

The media player supports setting options through key and value. The difference between this method and setPlayerOptionString is that the value parameter of this method is of type Int, while the value of setPlayerOptionString is of type String. These two methods cannot be used together. Applicable scenarios: Scenarios that require technical previews or special customization features. In general, you do not need to call this method; you can simply use the default options provided by the media player. Call timing: Call this method before the open(String url, long startPos) or openWithMediaSource method.

Parameters
keyThe key of the option.
valueThe value of the key.
Returns
  • 0: Success.
  • < 0: Failure.

◆ setPlayerOptionString()

int io.agora.mediaplayer.IMediaPlayer.setPlayerOptionString ( String  key,
String  value 
)

Sets media player options.

The media player supports setting options through key and value. The difference between this method and setPlayerOption is that the value parameter of this method is of type String, while the value of setPlayerOption is of type String. These two methods cannot be used together. Applicable scenarios: Scenarios that require technical previews or special customization features. In general, you do not need to call this method; you can simply use the default options provided by the media player. Call timing: Call this method before the open(String url, long startPos) or openWithMediaSource method.

Parameters
keyThe key of the option.
valueThe value of the key.
Returns
  • 0: Success.
  • < 0: Failure.

◆ takeScreenshot()

int io.agora.mediaplayer.IMediaPlayer.takeScreenshot ( String  filename)

take screenshot while playing video

Parameters
filenamethe filename of screenshot file
Returns
  • 0: Success.
  • < 0: Failure.

◆ selectInternalSubtitle()

int io.agora.mediaplayer.IMediaPlayer.selectInternalSubtitle ( int  index)

select internal subtitles in video

Parameters
indexthe index of the internal subtitles
Returns
  • 0: Success.
  • < 0: Failure.

◆ setExternalSubtitle()

int io.agora.mediaplayer.IMediaPlayer.setExternalSubtitle ( String  url)

set an external subtitle for video

Parameters
urlThe URL of the subtitle file that you want to load.
Returns
  • 0: Success.
  • < 0: Failure.

◆ adjustPublishSignalVolume()

int io.agora.mediaplayer.IMediaPlayer.adjustPublishSignalVolume ( int  volume)

Adjusts the volume of the media file for publishing.

After connected to the Agora server, you can call this method to adjust the volume of the media file heard by the remote user. Call timing: This method can be called either before or after joining the channel.

Parameters
volumeThe volume, which ranges from 0 to 400:
  • 0: Mute.
  • 100: (Default) The original volume.
  • 400: Four times the original volume (amplifying the audio signals by four times).
Returns
  • 0: Success.
  • < 0: Failure.

◆ getPublishSignalVolume()

int io.agora.mediaplayer.IMediaPlayer.getPublishSignalVolume ( )

Gets the volume of the media file for publishing.

Returns
  • ≥ 0: The remote playback volume.
  • < 0: Failure.

◆ getPlaySrc()

String io.agora.mediaplayer.IMediaPlayer.getPlaySrc ( )

Gets the path of the media resource being played.

Returns
The path of the media resource being played.

Implemented in io.agora.musiccontentcenter.IAgoraMusicPlayer.

◆ switchSrc()

int io.agora.mediaplayer.IMediaPlayer.switchSrc ( String  src,
boolean  syncPts 
)

Switches the media resource being played.

You can call this method to switch the media resource to be played according to the current network status. For example:

  • When the network is poor, the media resource to be played is switched to a media resource address with a lower bitrate.
  • When the network is good, the media resource to be played is switched to a media resource address with a higher bitrate. After calling this method, if you receive the onPlayerEvent callback report the PLAYER_EVENT_SWITCH_COMPLETE event, the switching is successful. If the switching fails, the SDK will automatically retry 3 times. If it still fails, you will receive the onPlayerEvent callback reporting the PLAYER_EVENT_SWITCH_ERROR event indicating an error occurred during media resource switching.
Note
  • Ensure that you call this method after open(String url, long startPos).
  • To ensure normal playback, pay attention to the following when calling this method:
    • Do not call this method when playback is paused.
    • Do not call the seek method during switching.
    • Before switching the media resource, make sure that the playback position does not exceed the total duration of the media resource to be switched.
Parameters
srcThe URL of the media resource.
syncPtsWhether to synchronize the playback position (ms) before and after the switch:
  • true: Synchronize the playback position before and after the switch.
  • false: (Default) Do not synchronize the playback position before and after the switch.
Returns
  • 0: Success.
  • < 0: Failure.

◆ preloadSrc()

int io.agora.mediaplayer.IMediaPlayer.preloadSrc ( String  src,
long  startPos 
)

Preloads a media resource.

You can call this method to preload a media resource into the playlist. If you need to preload multiple media resources, you can call this method multiple times. After calling this method, if you receive the PLAYER_PRELOAD_EVENT_COMPLETE event in the onPreloadEvent callback, the preload is successful; If you receive the PLAYER_PRELOAD_EVENT_ERROR event in the onPreloadEvent callback, the preload fails. If the preload is successful and you want to play the media resource, call playPreloadedSrc; if you want to clear the playlist, call stop().

Note
  • Before calling this method, ensure that you have called open(String url, long startPos) or openWithMediaSource to open the media resource successfully.
  • Agora does not support preloading duplicate media resources to the playlist. However, you can preload the media resources that are being played to the playlist again.
Parameters
srcThe URL of the media resource.
startPosThe starting position (ms) for playing after the media resource is preloaded to the playlist. When preloading a live stream, set this parameter to 0.
Returns
  • 0: Success.
  • < 0: Failure.

◆ playPreloadedSrc()

int io.agora.mediaplayer.IMediaPlayer.playPreloadedSrc ( String  src)

Plays preloaded media resources.

After calling the preloadSrc method to preload the media resource into the playlist, you can call this method to play the preloaded media resource. After calling this method, if you receive the onPlayerStateChanged callback which reports the PLAYER_STATE_PLAYING state, the playback is successful. If you want to change the preloaded media resource to be played, you can call this method again and specify the URL of the new media resource that you want to preload. If you want to replay the media resource, you need to call preloadSrc to preload the media resource to the playlist again before playing. If you want to clear the playlist, call the stop() method.

Note
If you call this method when playback is paused, this method does not take effect until playback is resumed.
Parameters
srcThe URL of the media resource in the playlist must be consistent with the src set by the preloadSrc method; otherwise, the media resource cannot be played.
Returns
  • 0: Success.
  • < 0: Failure.

◆ unloadSrc()

int io.agora.mediaplayer.IMediaPlayer.unloadSrc ( String  src)

Unloads media resources that are preloaded.

Note
This method cannot release the media resource being played.
Parameters
srcThe URL of the media resource.
Returns
  • 0: Success.
  • < 0: Failure.

◆ destroy()

int io.agora.mediaplayer.IMediaPlayer.destroy ( )

Destroys the media player instance.

Returns
  • ≥ 0: Success. Returns the ID of media player instance.
  • < 0: Failure.

Implemented in io.agora.musiccontentcenter.IAgoraMusicPlayer.

◆ registerPlayerObserver()

int io.agora.mediaplayer.IMediaPlayer.registerPlayerObserver ( IMediaPlayerObserver  playerObserver)

Registers a media player observer.

Call timing: This method can be called either before or after joining the channel.

Parameters
playerObserverThe player observer, listening for events during the playback. See IMediaPlayerObserver.
Returns
  • 0: Success.
  • < 0: Failure.

◆ unRegisterPlayerObserver()

int io.agora.mediaplayer.IMediaPlayer.unRegisterPlayerObserver ( IMediaPlayerObserver  playerObserver)

Releases a media player observer.

Parameters
playerObserverThe player observer, listening for events during the playback. See IMediaPlayerObserver.
Returns
  • 0: Success.
  • < 0: Failure.

◆ registerAudioFrameObserver()

int io.agora.mediaplayer.IMediaPlayer.registerAudioFrameObserver ( IMediaPlayerAudioFrameObserver  audioFrameObserver,
int  mode 
)

Registers an audio frame observer object.

Parameters
audioFrameObserverThe audio frame observer, reporting the reception of each audio frame. See IMediaPlayerAudioFrameObserver.
modeThe use mode of the audio frame:
  • RAW_AUDIO_FRAME_OP_MODE_READ_ONLY (0): (Default) Read only mode. For example, when users acquire the data with the Agora SDK, then push the RTMP or RTMPS streams.
  • RAW_AUDIO_FRAME_OP_MODE_READ_WRITE (2): Read and write mode: Users read the data from AudioFrame, modify it, and then play it. For example, when users have their own audio-effect processing module and perform some voice pre-processing, such as a voice change.
Returns
  • 0: Success.
  • < 0: Failure.

◆ registerMediaPlayerAudioSpectrumObserver()

int io.agora.mediaplayer.IMediaPlayer.registerMediaPlayerAudioSpectrumObserver ( IAudioSpectrumObserver  observer,
int  intervalInMS 
)

Registers the audio frame spectrum observer.

Parameters
observerThe pointer to the IAudioSpectrumObserver object.
Returns
  • 0: Success.
  • < 0: Failure.

◆ unregisterMediaPlayerAudioSpectrumObserver()

int io.agora.mediaplayer.IMediaPlayer.unregisterMediaPlayerAudioSpectrumObserver ( IAudioSpectrumObserver  observer)

Releases the audio frame spectrum observer.

Parameters
observerThe pointer to the IAudioSpectrumObserver object.
Returns
  • 0: Success.
  • < 0: Failure.

◆ setAudioDualMonoMode()

int io.agora.mediaplayer.IMediaPlayer.setAudioDualMonoMode ( int  mode)

Sets the channel mode of the current audio file.

In a stereo music file, the left and right channels can store different audio data. According to your needs, you can set the channel mode to original mode, left channel mode, right channel mode, or mixed channel mode. For example, in the KTV scenario, the left channel of the music file stores the musical accompaniment, and the right channel stores the singing voice. If you only need to listen to the accompaniment, call this method to set the channel mode of the music file to left channel mode; if you need to listen to the accompaniment and the singing voice at the same time, call this method to set the channel mode to mixed channel mode.

Note
Parameters
modeThe channel mode.
  • AUDIO_DUAL_MONO_STEREO (0): Original mode.
  • AUDIO_DUAL_MONO_L (1): Left channel mode. This mode replaces the audio of the right channel with the audio of the left channel, which means the user can only hear the audio of the left channel.
  • AUDIO_DUAL_MONO_R (2): Right channel mode. This mode replaces the audio of the left channel with the audio of the right channel, which means the user can only hear the audio of the right channel.
  • AUDIO_DUAL_MONO_MIX (3): Mixed channel mode. This mode mixes the audio of the left channel and the right channel, which means the user can hear the audio of the left channel and the right channel at the same time.
Returns
  • 0: Success.
  • < 0: Failure.

◆ registerVideoFrameObserver()

int io.agora.mediaplayer.IMediaPlayer.registerVideoFrameObserver ( IMediaPlayerVideoFrameObserver  videoFrameObserver)

Registers a video frame observer object.

You need to implement the IMediaPlayerVideoFrameObserver class in this method and register callbacks according to your scenarios. After you successfully register the video frame observer, the SDK triggers the registered callbacks each time a video frame is received.

Parameters
videoFrameObserverThe video observer, reporting the reception of each video frame. See IMediaPlayerVideoFrameObserver.
Returns
  • 0: Success.
  • < 0: Failure.

◆ openWithAgoraCDNSrc()

int io.agora.mediaplayer.IMediaPlayer.openWithAgoraCDNSrc ( String  src,
long  startPos 
)

Open the Agora CDN media source.

Deprecated:
4.6.0
Parameters
srcThe src of the media file that you want to play.
startPosThe playback position (ms).
Returns
  • 0: Success.
  • < 0: Failure.

◆ getAgoraCDNLineCount()

int io.agora.mediaplayer.IMediaPlayer.getAgoraCDNLineCount ( )

Gets the number of Agora CDN lines.

Deprecated:
4.6.0
Returns
  • > 0: number of CDN.
  • <= 0: Failure.

◆ switchAgoraCDNLineByIndex()

int io.agora.mediaplayer.IMediaPlayer.switchAgoraCDNLineByIndex ( int  index)

Switch Agora CDN lines.

Deprecated:
4.6.0
Parameters
indexSpecific CDN line index.
Returns
  • 0: Success.
  • < 0: Failure.

◆ getCurrentAgoraCDNIndex()

int io.agora.mediaplayer.IMediaPlayer.getCurrentAgoraCDNIndex ( )

Gets the line of the current CDN.

Deprecated:
4.6.0
Returns
  • >= 0: Specific line.
  • < 0: Failure.

◆ enableAutoSwitchAgoraCDN()

int io.agora.mediaplayer.IMediaPlayer.enableAutoSwitchAgoraCDN ( boolean  enable)

Enable automatic CDN line switching.

Deprecated:
4.6.0
Parameters
enableWhether enable.
Returns
  • 0: Success.
  • < 0: Failure.

◆ renewAgoraCDNSrcToken()

int io.agora.mediaplayer.IMediaPlayer.renewAgoraCDNSrcToken ( String  token,
long  ts 
)

Update the CDN source token and timestamp.

Deprecated:
4.6.0
Parameters
tokentoken.
tsts.
Returns
  • 0: Success.
  • < 0: Failure.

◆ switchAgoraCDNSrc()

int io.agora.mediaplayer.IMediaPlayer.switchAgoraCDNSrc ( String  src,
boolean  syncPts 
)

Switch the CDN source.

Deprecated:
4.6.0
Parameters
srcSpecific src.
syncPtsLive streaming must be set to false.
Returns
  • 0: Success.
  • < 0: Failure.

◆ setSpatialAudioParams()

int io.agora.mediaplayer.IMediaPlayer.setSpatialAudioParams ( SpatialAudioParams  params)

Enables or disables the spatial audio effect for the media player.

After successfully setting the spatial audio effect parameters of the media player, the SDK enables the spatial audio effect for the media player, and the local user can hear the media resources with a sense of space. If you need to disable the spatial audio effect for the media player, set the params parameter to null.

Parameters
paramsThe spatial audio effect parameters of the media player. See SpatialAudioParams.
Returns
  • 0: Success.
  • < 0: Failure.