跳转到内容

入门指南

ℹ️ 平台支持: 音频会话 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');
}
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);
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)。
  • 其他平台:无需额外设置;方法将以空结果解决。