コンテンツへスキップ

はじめに

ℹ️ プラットフォームサポート: オーディオセッション API は iOS で利用可能です。Android と Web での呼び出しは影響なく解決するため、共有ロジックを保持できます。

  1. パッケージをインストール

    Terminal window
    npm i @capgo/capacitor-plugin-audiosession
  2. 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');
}

スピーカーモードでのオーバーライド

Section titled “スピーカーモードでのオーバーライド”
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);

ルート変更と中断イベントをリッスン

Section titled “ルート変更と中断イベントをリッスン”
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: アプリがバックグラウンドでオーディオを再生する場合は、ios/App/App/Info.plist 内に必要なバックグラウンド オーディオ モード (audiovoice など) を追加してください。
  • その他のプラットフォーム: 追加のセットアップは不要です。メソッドは空の結果で解決します。