Skip to main content

AudioDeviceManager

@siteed/expo-audio-studio


@siteed/expo-audio-studio / AudioDeviceManager

Class: AudioDeviceManager

Defined in: src/AudioDeviceManager.ts:54

Class that provides a cross-platform API for managing audio input devices

Constructors

new AudioDeviceManager()

new AudioDeviceManager(options?): AudioDeviceManager

Defined in: src/AudioDeviceManager.ts:66

Parameters

options?
logger?

ConsoleLike

Returns

AudioDeviceManager

Methods

addDeviceChangeListener()

addDeviceChangeListener(listener): () => void

Defined in: src/AudioDeviceManager.ts:265

Register a listener for device changes

Parameters

listener

(devices) => void

Function to call when devices change (receives AudioDevice[])

Returns

Function

Function to remove the listener

Returns

void


getAvailableDevices()

getAvailableDevices(options?): Promise<AudioDevice[]>

Defined in: src/AudioDeviceManager.ts:136

Get all available audio input devices

Parameters

options?

Optional settings to force refresh the device list. Can include a refresh flag.

refresh?

boolean

Returns

Promise<AudioDevice[]>

Promise resolving to an array of audio devices conforming to AudioDevice interface


getCurrentDevice()

getCurrentDevice(): Promise<null | AudioDevice>

Defined in: src/AudioDeviceManager.ts:168

Get the currently selected audio input device

Returns

Promise<null | AudioDevice>

Promise resolving to the current device (conforming to AudioDevice) or null


initWithLogger()

initWithLogger(logger): AudioDeviceManager

Defined in: src/AudioDeviceManager.ts:118

Initialize the device manager with a logger

Parameters

logger

ConsoleLike

A logger instance that implements the ConsoleLike interface

Returns

AudioDeviceManager

The manager instance for chaining


refreshDevices()

refreshDevices(): Promise<AudioDevice[]>

Defined in: src/AudioDeviceManager.ts:285

Refresh the list of available devices with debouncing and notify listeners.

Returns

Promise<AudioDevice[]>

Promise resolving to the updated device list (AudioDevice[])


resetToDefaultDevice()

resetToDefaultDevice(): Promise<boolean>

Defined in: src/AudioDeviceManager.ts:238

Reset to the default audio input device

Returns

Promise<boolean>

Promise resolving to a boolean indicating success


selectDevice()

selectDevice(deviceId): Promise<boolean>

Defined in: src/AudioDeviceManager.ts:202

Select a specific audio input device for recording

Parameters

deviceId

string

The ID of the device to select

Returns

Promise<boolean>

Promise resolving to a boolean indicating success


setLogger()

setLogger(logger): void

Defined in: src/AudioDeviceManager.ts:127

Set the logger instance

Parameters

logger

ConsoleLike

A logger instance that implements the ConsoleLike interface

Returns

void