-
- All Implemented Interfaces:
-
com.getstream.sdk.chat.utils.exomedia.core.api.AudioPlayerApi
public class ExoAudioPlayer implements AudioPlayerApi
A AudioPlayerApi implementation that uses the ExoPlayer as the backing media player.
-
-
Field Summary
Fields Modifier and Type Field Description protected ListenerMuxlistenerMux
-
Constructor Summary
Constructors Constructor Description ExoAudioPlayer(Context context)
-
Method Summary
Modifier and Type Method Description voidsetDataSource(Uri uri)voidsetDataSource(Uri uri, MediaSource mediaSource)voidsetDrmCallback(MediaDrmCallback drmCallback)Sets the MediaDrmCallback to use when handling DRM for media. voidprepareAsync()Prepares the media specified with setDataSource or setDataSource in an asynchronous manner voidreset()floatgetVolumeLeft()floatgetVolumeRight()voidsetVolume(float left, float right)voidseekTo(long milliseconds)booleanisPlaying()voidstart()voidpause()voidstopPlayback()booleanrestart()If the media has completed playback, calling {@code restart}will seek to the beginning of the media, and play it.longgetDuration()longgetCurrentPosition()intgetBufferedPercent()WindowInfogetWindowInfo()voidrelease()Releases the resources associated with this media player intgetAudioSessionId()booleansetPlaybackSpeed(float speed)Sets the playback speed for this MediaPlayer. floatgetPlaybackSpeed()voidsetAudioStreamType(int streamType)Sets the stream_ic_audio stream type for this MediaPlayer. voidsetWakeMode(Context context, int mode)booleantrackSelectionAvailable()voidsetTrack(ExoMedia.RendererType type, int trackIndex)voidsetTrack(ExoMedia.RendererType type, int groupIndex, int trackIndex)intgetSelectedTrackIndex(ExoMedia.RendererType type, int groupIndex)Map<ExoMedia.RendererType, TrackGroupArray>getAvailableTracks()Retrieves a list of available tracks to select from. voidonMediaPrepared()voidsetRepeatMode(int repeatMode)voidsetListenerMux(ListenerMux listenerMux)-
-
Constructor Detail
-
ExoAudioPlayer
ExoAudioPlayer(Context context)
-
-
Method Detail
-
setDataSource
void setDataSource(Uri uri)
-
setDataSource
void setDataSource(Uri uri, MediaSource mediaSource)
-
setDrmCallback
void setDrmCallback(MediaDrmCallback drmCallback)
Sets the MediaDrmCallback to use when handling DRM for media.This should be called before specifying the videos uri or pathNOTE: DRM is only supported on API 18 +
- Parameters:
drmCallback- The callback to use when handling DRM media
-
prepareAsync
void prepareAsync()
Prepares the media specified with setDataSource or setDataSource in an asynchronous manner
-
reset
void reset()
-
getVolumeLeft
float getVolumeLeft()
-
getVolumeRight
float getVolumeRight()
-
setVolume
void setVolume(float left, float right)
-
seekTo
void seekTo(long milliseconds)
-
isPlaying
boolean isPlaying()
-
start
void start()
-
pause
void pause()
-
stopPlayback
void stopPlayback()
-
restart
boolean restart()
If the media has completed playback, calling
{@code restart}will seek to the beginning of the media, and play it.
-
getDuration
long getDuration()
-
getCurrentPosition
long getCurrentPosition()
-
getBufferedPercent
int getBufferedPercent()
-
getWindowInfo
@Nullable() WindowInfo getWindowInfo()
-
release
void release()
Releases the resources associated with this media player
-
getAudioSessionId
int getAudioSessionId()
-
setPlaybackSpeed
boolean setPlaybackSpeed(float speed)
Sets the playback speed for this MediaPlayer.
- Parameters:
speed- The speed to play the media back at
-
getPlaybackSpeed
float getPlaybackSpeed()
-
setAudioStreamType
void setAudioStreamType(int streamType)
Sets the stream_ic_audio stream type for this MediaPlayer. See AudioManager for a list of stream types. Must call this method before prepare() orprepareAsync() in order for the target stream type to become effectivethereafter.
- Parameters:
streamType- The stream_ic_audio stream type
-
setWakeMode
void setWakeMode(Context context, int mode)
-
trackSelectionAvailable
boolean trackSelectionAvailable()
-
setTrack
void setTrack(ExoMedia.RendererType type, int trackIndex)
-
setTrack
void setTrack(ExoMedia.RendererType type, int groupIndex, int trackIndex)
-
getSelectedTrackIndex
int getSelectedTrackIndex(ExoMedia.RendererType type, int groupIndex)
-
getAvailableTracks
@Nullable() Map<ExoMedia.RendererType, TrackGroupArray> getAvailableTracks()
Retrieves a list of available tracks to select from. Typically trackSelectionAvailable should be called before this.
-
onMediaPrepared
void onMediaPrepared()
-
setRepeatMode
void setRepeatMode(int repeatMode)
-
setListenerMux
void setListenerMux(ListenerMux listenerMux)
-
-
-
-