跳过主要内容
@capgo/capacitor-native-audio 重命名 从 @capgo/native-audio 重命名为 @capgo/capacitor-native-audio。 媒体 开源

原生音频 Capacitor 插件

使用原生音频引擎在游戏和应用中播放短音频文件,低延迟

安装

bun add @capgo/capacitor-native-audio bunx cap sync
npm, pnpm 或 yarn
  • npm install @capgo/capacitor-native-audio
  • pnpm add @capgo/capacitor-native-audio
  • yarn add @capgo/capacitor-native-audio

指南

如何在 Capacitor 中使用本机音频

在设备上测试

下载 Capgo 应用程序,然后扫描二维码 code。

本机音频插件预览二维码 code

使用@capgo/capacitor-native-audio

一个原生插件,用于原生音频引擎

安装

npm install @capgo/capacitor-native-audio
npx cap sync

此插件暴露的内容

  • configure - 配置音频播放器
  • preload - 加载音频文件
  • playOnce - 以自动清理方式播放一次音频文件
  • isPreloaded - 检查是否预加载了音频文件

示例用法

configure

配置音频播放器

import { NativeAudio } from '@capgo/capacitor-native-audio';

await NativeAudio.configure({
  focus: false,
  background: false,
  ignoreSilent: false,
  showNotification: false,
  backgroundPlayback: false,
});

preload

加载音频文件

import { NativeAudio } from '@capgo/capacitor-native-audio';

await NativeAudio.preload({
  assetPath: 'path/to/file',
  assetId: 'asset-id-123',
});

playOnce

以自动清理方式播放一次音频文件

import { NativeAudio } from '@capgo/capacitor-native-audio';

// Simple one-shot playback
await NativeAudio.playOnce({ assetPath: 'audio/notification.mp3' });

// Play and delete the file after completion
await NativeAudio.playOnce({
  assetPath: 'file:///path/to/temp/audio.mp3',
  isUrl: true,
  deleteAfterPlay: true
});

// Get the assetId to control playback
const { assetId } = await NativeAudio.playOnce({
  assetPath: 'audio/long-track.mp3',
  autoPlay: true
});
// Later, you can stop it manually if needed
await NativeAudio.stop({ assetId });

isPreloaded

检测一个音频文件是否已经预加载。

import { NativeAudio } from '@capgo/capacitor-native-audio';

const result = await NativeAudio.isPreloaded({
  assetPath: 'path/to/file',
  assetId: 'asset-id-123',
});
console.log(result);

全参考

继续使用@capgo/capacitor-native-audio

如果您正在使用 使用@capgo/capacitor-native-audio 来规划原生媒体和界面行为,连接它与 @capgo/capacitor-native-audio 在@capgo/capacitor-native-audio中实现详细信息 开始使用 为《开始使用》中的实现细节 使用@capgo/capacitor-live-activities 为《使用@capgo/capacitor-live-activities》中的原生能力 @capgo/capacitor-live-activities 为《@capgo/capacitor-live-activities》中的实现细节,以及 使用@capgo/capacitor-video-player 为《使用@capgo/capacitor-video-player》中的原生能力

常见问题

Native Audio 插件常见问题

如何在 Capacitor 应用中安装 Native Audio 插件?

Run "bun add @capgo/capacitor-native-audio" (or "npm install @capgo/capacitor-native-audio"), then run "bunx cap sync" so the iOS and Android projects pick up the native code. Import it from "@capgo/capacitor-native-audio" in your app code.

@capgo/capacitor-native-audio 与 React、Vue 和 Angular 是否兼容?

是的。Native Audio 是一个 Capacitor 包,因此它与任何运行在 Capacitor 内的 web 框架兼容,包括 Ionic、React、Vue、Angular、Svelte 和普通 JavaScript。

@Capacitor 的哪个版本支持 @capgo/capacitor-native-audio?

Capgo 插件遵循 Capacitor 的主要版本:使用与 Capacitor 主要版本匹配的插件主要版本(例如插件 v8 与 Capacitor 8)。在 GitHub README 中的兼容性表格中列出了维护的版本。

@capgo/capacitor-native-audio 是否免费和开源?

Yes. The source code is public on GitHub at https://github.com/Cap-go/capacitor-native-audio/ and the package is free to install from npm. Bug reports and pull requests are welcome.

我能否在App Store审核无需更新使用Native Audio的code?

安装或升级插件会改变native code,因此需要新建一个商店包。之后,使用插件的JavaScript、HTML和CSS改变可以立即通过 Capgo 实时更新。

不必等待应用程序审查就可以将原生音频更改部署

一旦插件在您的商店构建中,Capgo实时更新将推送您的JavaScript、HTML和CSS更改到用户中几分钟内。

从Capgo开始