@studiokloek/capacitor-plugin-audiosession
TypeScript icon, indicating that this package has built-in type declarations

4.0.3 • Public • Published

@studiokloek/capacitor-plugin-audiosession

This plugin works on iOS only.

This plugin is a port of https://github.com/saghul/cordova-plugin-audioroute and allows iOS applications to get notified about audio session interruptions and route changes (for example when a headset is connected). To query and override the audio device in use is also supported.

Install

npm install @studiokloek/capacitor-plugin-audiosession
npx cap sync

For now this plugin works only in Capacitor 4.0+.

API

currentOutputs()

currentOutputs() => Promise<AudioSessionPorts[]>

Returns: Promise<AudioSessionPorts[]>


overrideOutput(...)

overrideOutput(type: OutputOverrideType) => Promise<OverrideResult>
Param Type
type OutputOverrideType

Returns: Promise<OverrideResult>


addListener('routeChanged', ...)

addListener(eventName: 'routeChanged', listenerFunc: RouteChangeListener) => Promise<PluginListenerHandle> & PluginListenerHandle
Param Type
eventName 'routeChanged'
listenerFunc RouteChangeListener

Returns: Promise<PluginListenerHandle> & PluginListenerHandle


addListener('interruption', ...)

addListener(eventName: 'interruption', listenerFunc: InterruptionListener) => Promise<PluginListenerHandle> & PluginListenerHandle
Param Type
eventName 'interruption'
listenerFunc InterruptionListener

Returns: Promise<PluginListenerHandle> & PluginListenerHandle


Interfaces

PluginListenerHandle

Prop Type
remove () => Promise<void>

Type Aliases

OverrideResult

{ success: boolean; message: string; }

OutputOverrideType

'default' | 'speaker'

RouteChangeListener

(reason: RouteChangeReasons): void

InterruptionListener

(type: InterruptionTypes): void

Enums

AudioSessionPorts

Members Value
AIR_PLAY 'airplay'
BLUETOOTH_LE 'bluetooth-le'
BLUETOOTH_HFP 'bluetooth-hfp'
BLUETOOTH_A2DP 'bluetooth-a2dp'
BUILT_IN_SPEAKER 'builtin-speaker'
BUILT_IN_RECEIVER 'builtin-receiver'
HDMI 'hdmi'
HEADPHONES 'headphones'
LINE_OUT 'line-out'

RouteChangeReasons

Members Value
NEW_DEVICE_AVAILABLE 'new-device-available'
OLD_DEVICE_UNAVAILABLE 'old-device-unavailable'
CATEGORY_CHANGE 'category-change'
OVERRIDE 'override'
WAKE_FROM_SLEEP 'wake-from-sleep'
NO_SUITABLE_ROUTE_FOR_CATEGORY 'no-suitable-route-for-category'
ROUTE_CONFIGURATION_CHANGE 'route-config-change'
UNKNOWN 'unknown'

InterruptionTypes

Members Value
BEGAN 'began'
ENDED 'ended'

License

MIT

Author

Martijn Swart https://studiokloek.nl

Based on work from: Saúl Ibarra Corretgé saghul@gmail.com

Readme

Keywords

Package Sidebar

Install

npm i @studiokloek/capacitor-plugin-audiosession

Weekly Downloads

7

Version

4.0.3

License

MIT

Unpacked Size

45.9 kB

Total Files

22

Last publish

Collaborators

  • martijnswart