Added in API level 24

AudioRouting

interface AudioRouting
android.media.AudioRouting

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

Summary

Nested classes
abstract

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

Public methods
abstract Unit

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

abstract AudioDeviceInfo!

Returns the selected output/input specified by setPreferredDevice.

abstract AudioDeviceInfo!

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

abstract Unit

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

abstract Boolean

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

Public methods

addOnRoutingChangedListener

Added in API level 24
abstract fun addOnRoutingChangedListener(
    listener: AudioRouting.OnRoutingChangedListener!,
    handler: Handler!
): Unit

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
abstract fun getPreferredDevice(): AudioDeviceInfo!

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

getRoutedDevice

Added in API level 24
abstract fun getRoutedDevice(): AudioDeviceInfo!

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.

removeOnRoutingChangedListener

Added in API level 24
abstract fun removeOnRoutingChangedListener(listener: AudioRouting.OnRoutingChangedListener!): Unit

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
abstract fun setPreferredDevice(deviceInfo: AudioDeviceInfo!): Boolean

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.
Return
Boolean true if succesful, false if the specified AudioDeviceInfo is non-null and does not correspond to a valid audio device.