lightbulb_outline Please take our October 2018 developer survey. Start survey
added in API level 24

AudioRouting

public interface AudioRouting

android.media.AudioRouting


AudioRouting defines an interface for controlling routing and routing notifications in AudioTrack and AudioRecord objects.

Summary

Nested classes

interface AudioRouting.OnRoutingChangedListener

Defines the interface by which applications can receive notifications of routing changes for the associated AudioRouting

Public methods

abstract void addOnRoutingChangedListener(AudioRouting.OnRoutingChangedListener listener, Handler handler)

Adds an AudioRouting.OnRoutingChangedListener to receive notifications of routing changes on this AudioTrack/AudioRecord.

abstract AudioDeviceInfo getPreferredDevice()

Returns the selected output/input specified by setPreferredDevice(AudioDeviceInfo).

abstract AudioDeviceInfo getRoutedDevice()

Returns an AudioDeviceInfo identifying the current routing of this AudioTrack/AudioRecord.

abstract void removeOnRoutingChangedListener(AudioRouting.OnRoutingChangedListener listener)

Removes an AudioRouting.OnRoutingChangedListener which has been previously added to receive rerouting notifications.

abstract boolean setPreferredDevice(AudioDeviceInfo deviceInfo)

Specifies an audio device (via an AudioDeviceInfo object) to route the output/input to/from.

Public methods

addOnRoutingChangedListener

added in API level 24
public abstract void addOnRoutingChangedListener (AudioRouting.OnRoutingChangedListener listener, 
                Handler handler)

Adds an AudioRouting.OnRoutingChangedListener to receive notifications of routing changes on this AudioTrack/AudioRecord.

Parameters
listener AudioRouting.OnRoutingChangedListener: The AudioRouting.OnRoutingChangedListener interface to receive notifications of rerouting events.

handler Handler: Specifies the Handler object for the thread on which to execute the callback. If null, the Handler associated with the main Looper will be used.

getPreferredDevice

added in API level 24
public abstract AudioDeviceInfo getPreferredDevice ()

Returns the selected output/input specified by setPreferredDevice(AudioDeviceInfo). Note that this is not guaranteed to correspond to the actual device being used for playback/recording.

Returns
AudioDeviceInfo

getRoutedDevice

added in API level 24
public abstract AudioDeviceInfo getRoutedDevice ()

Returns an AudioDeviceInfo identifying the current routing of this AudioTrack/AudioRecord. Note: The query is only valid if the AudioTrack/AudioRecord is currently playing. If it is not, getRoutedDevice() will return null.

Returns
AudioDeviceInfo

removeOnRoutingChangedListener

added in API level 24
public abstract void removeOnRoutingChangedListener (AudioRouting.OnRoutingChangedListener listener)

Removes an AudioRouting.OnRoutingChangedListener which has been previously added to receive rerouting notifications.

Parameters
listener AudioRouting.OnRoutingChangedListener: The previously added AudioRouting.OnRoutingChangedListener interface to remove.

setPreferredDevice

added in API level 24
public abstract boolean setPreferredDevice (AudioDeviceInfo deviceInfo)

Specifies an audio device (via an AudioDeviceInfo object) to route the output/input to/from.

Parameters
deviceInfo AudioDeviceInfo: The AudioDeviceInfo specifying the audio sink or source. If deviceInfo is null, default routing is restored.

Returns
boolean true if succesful, false if the specified AudioDeviceInfo is non-null and does not correspond to a valid audio device.