java.lang.Object

com.opentok.android.AudioDeviceManager


public class AudioDeviceManager extends Object

Use the AudioDeviceManager to set a custom audio device to be used by the app. The audio device manages access to the audio capturing and rendering hardware.

You can only define a single audio capture source and rendering target for the app. You cannot set these individually for each publisher and subscriber. You can, however, set the audio bitrate for a published stream using the PublisherKit.Builder.audioBitrate(int) method.

Constructor Summary

Constructors

Constructor

Description

AudioDeviceManager()

Constructs a new AudioDeviceManager instance.

AudioDeviceManager(android.content.Context context)

Constructs a new AudioDeviceManager instance.

Method Summary

All MethodsStatic MethodsInstance MethodsConcrete Methods

Modifier and Type

Method

Description

static BaseAudioDevice

getAudioDevice()

Gets the BaseAudioDevice instance.

BaseAudioDevice.AudioFocusManager

getAudioFocusManager()

Gets the AudioFocusManager instance, if the current audio device supports it.

static void

setAudioDevice(BaseAudioDevice device)

Sets the audio device to be used.

Methods inherited from class java.lang.Object

clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

Constructor Details

AudioDeviceManager

public AudioDeviceManager()

Constructs a new AudioDeviceManager instance.

AudioDeviceManager

public AudioDeviceManager(android.content.Context context)

Constructs a new AudioDeviceManager instance.

Parameters: : context - the context used for managing audio devices. This should be the application-level context to avoid memory leaks or unintended behavior related to activity lifecycles.

Method Details

setAudioDevice

public static void setAudioDevice(BaseAudioDevice device) throws IllegalStateException

Sets the audio device to be used.

You must call this method before you connect to a session. Additionally, this is a global operation that must persist throughout the lifetime of an application.

If you do not call this method, the app uses the Android device's microphone and speaker.

Parameters: : device - The BaseAudioDevice interface implementation.

Throws: : IllegalStateException

getAudioDevice

public static BaseAudioDevice getAudioDevice()

Gets the BaseAudioDevice instance.

Returns: : id The BaseAudioDevice instance.

getAudioFocusManager

public BaseAudioDevice.AudioFocusManager getAudioFocusManager()

Gets the AudioFocusManager instance, if the current audio device supports it.

This requires having instantiated object via AudioDeviceManager(Context context), otherwise the method returns null. This returns the same instance as the getAudioDevice() method if it conforms to the AudioFocusManager interface. Otherwise, it returns null.

Note: Currently only the default audio device implements this interface.

Returns: : The AudioFocusManager implementation, or null if unsupported.

See Also: : - Creating a VoIP app using the Android ConnectionService