Ringtone

public class Ringtone
extends Object

java.lang.Object
   ↳ android.media.Ringtone


Ringtone provides a quick method for playing a ringtone, notification, or other similar types of sounds.

For ways of retrieving Ringtone objects or to show a ringtone picker, see RingtoneManager.

See also:

Summary

Public methods

AudioAttributes getAudioAttributes()

Returns the AudioAttributes used by this object.

int getStreamType()

This method was deprecated in API level 21. use of stream types is deprecated, see setAudioAttributes(android.media.AudioAttributes)

String getTitle(Context context)

Returns a human-presentable title for ringtone.

float getVolume()

Returns the volume scalar set on this player.

boolean isHapticGeneratorEnabled()

Return whether the HapticGenerator effect is enabled or not.

boolean isLooping()

Returns whether the looping mode was enabled on this player.

boolean isPlaying()

Whether this ringtone is currently playing.

void play()

Plays the ringtone.

void setAudioAttributes(AudioAttributes attributes)

Sets the AudioAttributes for this ringtone.

boolean setHapticGeneratorEnabled(boolean enabled)

Enable or disable the HapticGenerator effect.

void setLooping(boolean looping)

Sets the player to be looping or non-looping.

void setStreamType(int streamType)

This method was deprecated in API level 21. use setAudioAttributes(android.media.AudioAttributes)

void setVolume(float volume)

Sets the volume on this player.

void stop()

Stops a playing ringtone.

Protected methods

void finalize()

Called by the garbage collector on an object when garbage collection determines that there are no more references to the object.

Inherited methods

Public methods

getAudioAttributes

Added in API level 21
public AudioAttributes getAudioAttributes ()

Returns the AudioAttributes used by this object.

Returns
AudioAttributes the AudioAttributes that were set with setAudioAttributes(android.media.AudioAttributes) or the default attributes if none were set.

getStreamType

Added in API level 1
Deprecated in API level 21
public int getStreamType ()

This method was deprecated in API level 21.
use of stream types is deprecated, see setAudioAttributes(android.media.AudioAttributes)

Gets the stream type where this ringtone will be played.

Returns
int The stream type, see AudioManager.

getTitle

Added in API level 1
public String getTitle (Context context)

Returns a human-presentable title for ringtone. Looks in media content provider. If not in either, uses the filename

Parameters
context Context: A context used for querying.

Returns
String

getVolume

Added in API level 28
public float getVolume ()

Returns the volume scalar set on this player.

Returns
float a value between 0.0f and 1.0f.

isHapticGeneratorEnabled

Added in API level 31
public boolean isHapticGeneratorEnabled ()

Return whether the HapticGenerator effect is enabled or not.

Returns
boolean true if the HapticGenerator is enabled.

isLooping

Added in API level 28
public boolean isLooping ()

Returns whether the looping mode was enabled on this player.

Returns
boolean true if this player loops when playing.

isPlaying

Added in API level 1
public boolean isPlaying ()

Whether this ringtone is currently playing.

Returns
boolean True if playing, false otherwise.

play

Added in API level 1
public void play ()

Plays the ringtone.

setAudioAttributes

Added in API level 21
public void setAudioAttributes (AudioAttributes attributes)

Sets the AudioAttributes for this ringtone.

Parameters
attributes AudioAttributes: the non-null attributes characterizing this ringtone.

Throws
IllegalArgumentException

setHapticGeneratorEnabled

Added in API level 31
public boolean setHapticGeneratorEnabled (boolean enabled)

Enable or disable the HapticGenerator effect. The effect can only be enabled on devices that support the effect.

Parameters
enabled boolean

Returns
boolean true if the HapticGenerator effect is successfully enabled. Otherwise, return false.

setLooping

Added in API level 28
public void setLooping (boolean looping)

Sets the player to be looping or non-looping.

Parameters
looping boolean: whether to loop or not.

setStreamType

Added in API level 1
Deprecated in API level 21
public void setStreamType (int streamType)

This method was deprecated in API level 21.
use setAudioAttributes(android.media.AudioAttributes)

Sets the stream type where this ringtone will be played.

Parameters
streamType int: The stream, see AudioManager.

setVolume

Added in API level 28
public void setVolume (float volume)

Sets the volume on this player.

Parameters
volume float: a raw scalar in range 0.0 to 1.0, where 0.0 mutes this player, and 1.0 corresponds to no attenuation being applied.

stop

Added in API level 1
public void stop ()

Stops a playing ringtone.

Protected methods

finalize

Added in API level 1
protected void finalize ()

Called by the garbage collector on an object when garbage collection determines that there are no more references to the object. A subclass overrides the finalize method to dispose of system resources or to perform other cleanup.

The general contract of finalize is that it is invoked if and when the Java virtual machine has determined that there is no longer any means by which this object can be accessed by any thread that has not yet died, except as a result of an action taken by the finalization of some other object or class which is ready to be finalized. The finalize method may take any action, including making this object available again to other threads; the usual purpose of finalize, however, is to perform cleanup actions before the object is irrevocably discarded. For example, the finalize method for an object that represents an input/output connection might perform explicit I/O transactions to break the connection before the object is permanently discarded.

The finalize method of class Object performs no special action; it simply returns normally. Subclasses of Object may override this definition.

The Java programming language does not guarantee which thread will invoke the finalize method for any given object. It is guaranteed, however, that the thread that invokes finalize will not be holding any user-visible synchronization locks when finalize is invoked. If an uncaught exception is thrown by the finalize method, the exception is ignored and finalization of that object terminates.

After the finalize method has been invoked for an object, no further action is taken until the Java virtual machine has again determined that there is no longer any means by which this object can be accessed by any thread that has not yet died, including possible actions by other objects or classes which are ready to be finalized, at which point the object may be discarded.

The finalize method is never invoked more than once by a Java virtual machine for any given object.

Any exception thrown by the finalize method causes the finalization of this object to be halted, but is otherwise ignored.