Zum Inhalt springen

Getting Started

Dieser Inhalt ist in Ihrer Sprache noch nicht verfügbar.

ℹ️ Platform support: The audio session API is available on iOS. Calls on Android and the web resolve without effect so you can keep shared logic.

  1. Install the package

    Terminal-Fenster
    npm i @capgo/capacitor-plugin-audiosession
  2. Sync iOS platform

    Terminal-Fenster
    npx cap sync ios

Inspect available outputs

import { AudioSession, AudioSessionPorts } from '@capgo/capacitor-plugin-audiosession';
const outputs = await AudioSession.currentOutputs();
if (outputs.includes(AudioSessionPorts.BLUETOOTH_A2DP)) {
console.log('Bluetooth speaker connected');
}

Override to speaker mode

import { AudioSession, OutputOverrideType } from '@capgo/capacitor-plugin-audiosession';
await AudioSession.overrideOutput(OutputOverrideType.speaker);
// Restore system routing when you are done
await AudioSession.overrideOutput(OutputOverrideType.default);

Listen for route and interruption events

import { AudioSession, RouteChangeReasons, InterruptionTypes } from '@capgo/capacitor-plugin-audiosession';
const routeListener = await AudioSession.addListener('routeChanged', (reason) => {
if (reason === RouteChangeReasons.NEW_DEVICE_AVAILABLE) {
console.log('User connected a new audio route');
}
});
const interruptionListener = await AudioSession.addListener('interruption', (type) => {
if (type === InterruptionTypes.BEGAN) {
// Pause playback while we are interrupted
} else {
// Resume playback
}
});
// Later during cleanup
await routeListener.remove();
await interruptionListener.remove();

Entitlements

  • iOS: Add any required background audio modes (e.g. audio, voice) inside ios/App/App/Info.plist if your app plays audio in the background.
  • Other platforms: No additional setup is necessary; methods will resolve with empty results.