Vai al contenuto

Iniziare

ℹ️ Supporto piattaforma: La sessione audio API è disponibile su iOS. Le chiamate a Android e il Web si risolvono senza alcun effetto in modo da poter mantenere la logica condivisa.

  1. Installa il pacchetto

    Terminal window
    npm i @capgo/capacitor-plugin-audiosession
  2. Sincronizza la piattaforma iOS

    Terminal window
    npx cap sync ios
import { AudioSession, AudioSessionPorts } from '@capgo/capacitor-plugin-audiosession';
const outputs = await AudioSession.currentOutputs();
if (outputs.includes(AudioSessionPorts.BLUETOOTH_A2DP)) {
console.log('Bluetooth speaker connected');
}
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);

Ascolta gli eventi di percorso e di interruzione

Section titled “Ascolta gli eventi di percorso e di interruzione”
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();
  • iOS: aggiungi eventuali modalità audio di sottofondo richieste (ad esempio audio, voice) all’interno di ios/App/App/Info.plist se la tua app riproduce l’audio in background.
  • Altre piattaforme: non è necessaria alcuna configurazione aggiuntiva; i metodi si risolveranno con risultati vuoti.