Added in API level 1

AsyncPlayer


public class AsyncPlayer
extends Object

java.lang.Object
   ↳ android.media.AsyncPlayer


Plays a series of audio URIs, but does all the hard work on another thread so that any slowness with preparing or loading doesn't block the calling thread.

Summary

Public constructors

AsyncPlayer(String tag)

Construct an AsyncPlayer object.

Public methods

void play(Context context, Uri uri, boolean looping, int stream)

This method was deprecated in API level 23. use play(android.content.Context, android.net.Uri, boolean, android.media.AudioAttributes) instead

void play(Context context, Uri uri, boolean looping, AudioAttributes attributes)

Start playing the sound.

void stop()

Stop a previously played sound.

Inherited methods

Public constructors

AsyncPlayer

Added in API level 1
public AsyncPlayer (String tag)

Construct an AsyncPlayer object.

Parameters
tag String: a string to use for debugging

Public methods

play

Added in API level 1
Deprecated in API level 23
public void play (Context context, 
                Uri uri, 
                boolean looping, 
                int stream)

This method was deprecated in API level 23.
use play(android.content.Context, android.net.Uri, boolean, android.media.AudioAttributes) instead

Start playing the sound. It will actually start playing at some point in the future. There are no guarantees about latency here. Calling this before another audio file is done playing will stop that one and start the new one.

Parameters
context Context: Your application's context.

uri Uri: The URI to play. (see MediaPlayer#setDataSource(Context, Uri))

looping boolean: Whether the audio should loop forever. (see MediaPlayer#setLooping(boolean))

stream int: the AudioStream to use. (see MediaPlayer#setAudioStreamType(int))

play

Added in API level 23
public void play (Context context, 
                Uri uri, 
                boolean looping, 
                AudioAttributes attributes)

Start playing the sound. It will actually start playing at some point in the future. There are no guarantees about latency here. Calling this before another audio file is done playing will stop that one and start the new one.

Parameters
context Context: the non-null application's context.

uri Uri: the non-null URI to play. (see MediaPlayer#setDataSource(Context, Uri))

looping boolean: whether the audio should loop forever. (see MediaPlayer#setLooping(boolean))

attributes AudioAttributes: the non-null AudioAttributes to use. (see MediaPlayer#setAudioAttributes(AudioAttributes))

Throws
java.lang.IllegalArgumentException
IllegalArgumentException

stop

Added in API level 1
public void stop ()

Stop a previously played sound. It can't be played again or unpaused at this point. Calling this multiple times has no ill effects.