更新记录
1.0.1(2025-09-25) 下载此版本
新增文档使用说明
1.0.0(2025-09-25) 下载此版本
完整声音播放功能
平台兼容性
uni-app(4.71)
Vue2 | Vue2插件版本 | Vue3 | Vue2插件版本 | Chrome | Safari | app-vue | app-vue插件版本 | app-nvue | Android | iOS | 鸿蒙 |
---|---|---|---|---|---|---|---|---|---|---|---|
√ | 1.0.0 | √ | 1.0.0 | × | × | √ | 1.0.0 | √ | √ | × | × |
微信小程序 | 支付宝小程序 | 抖音小程序 | 百度小程序 | 快手小程序 | 京东小程序 | 鸿蒙元服务 | QQ小程序 | 飞书小程序 | 快应用-华为 | 快应用-联盟 |
---|---|---|---|---|---|---|---|---|---|---|
× | × | × | × | × | × | × | × | × | × | × |
uni-app x(4.71)
Chrome | Safari | Android | iOS | 鸿蒙 | 微信小程序 |
---|---|---|---|---|---|
- | - | - | - | - | - |
其他
多语言 | 暗黑模式 | 宽屏模式 |
---|---|---|
√ | √ | √ |
hp-soundpool
插件介绍
hp-soundpool
是一个基于 Android SoundPool 封装的音频播放插件,适用于 UniApp 开发环境。该插件主要用于播放短音频文件(如音效、提示音等),具有低延迟、高效的特点。
使用说明
1. 初始化音频资源
在使用前,首先需要初始化音频资源列表。通过 soundPoolInit
方法传入音频资源配置数组。
参数说明:
list
: 音频资源配置数组,每项包含sid
(音频ID)、url
(音频文件路径)和key
(音频标识)
示例代码:
import { soundPoolInit, soundPoolPlay } from '@/uni_modules/hp-soundpool';
// 初始化音频资源
soundPoolInit([
{
sid: 0, // 音频ID,初始化后会被实际加载的ID覆盖
url: 'sound1.mp3', // 音频文件路径,相对于assets目录
key: 'sound1' // 音频标识,用于后续播放调用
},
{
sid: 0,
url: 'sound2.mp3',
key: 'sound2'
}
]);
2. 播放音频
使用 soundPoolPlay
方法播放指定的音频文件。
参数说明:
key
: 音频标识,与初始化时设置的key
对应
示例代码:
import { soundPoolPlay } from '@/uni_modules/hp-soundpool';
// 播放指定音频
soundPoolPlay('sound1');
3. 注意事项
- 音频文件需要放置在项目的
nativeResources/android/assets/
目录下 - 建议只用于播放短音频文件(如音效、提示音等),不适合播放较长的音乐文件
- 音频文件格式支持 Android SoundPool 所支持的格式,如 MP3、WAV 等
原生Android媒体播放器与SoundPool播放器的区别
特性 | MediaPlayer | SoundPool |
---|---|---|
加载速度 | 较慢,适合播放长音频 | 较快,适合播放短音频 |
内存占用 | 较大 | 较小 |
播放延迟 | 较高 | 较低 |
并发播放 | 不支持多个实例同时播放 | 支持多个音频流同时播放(可配置最大并发数) |
适用场景 | 音乐播放、视频音效等长音频 | 游戏音效、界面交互提示音等短音频 |
资源管理 | 需要手动管理生命周期 | 内部优化了资源加载和释放 |
SoundPool 的优势在于它可以预先加载多个短音频到内存中,并以极低的延迟播放,非常适合需要频繁播放简短音效的场景,如游戏、应用交互反馈等。
常见问题
音频文件放在哪里?
请将音频文件放置在项目的 nativeResources/android/assets/
目录下,如果没有该目录,请手动创建。
播放没有声音怎么办?
- 检查设备音量是否开启
- 确认音频文件路径是否正确
- 确保先调用了
soundPoolInit
方法进行初始化 - 检查
soundPoolPlay
方法的参数是否正确,确保传入的key
与初始化时设置的key
对应
是否需要重新打自定义基座
需要,请将音频文件放置在项目的 nativeResources/android/assets/
目录下,重新打自定义基座方可生效
关于不同音频文件的区别
在 Android SoundPool 中播放不同格式的音频文件会有不同的性能表现和特点。以下是常见音频格式在 SoundPool 中的对比:
音频格式 | 特点 | 优点 | 缺点 | 适用场景 |
---|---|---|---|---|
MP3 | 有损压缩格式,使用广泛 | 文件体积小,兼容性好 | 音质有损失,加载稍慢 | 一般音效、提示音 |
WAV | 无损格式,原始音质 | 音质最佳,加载速度快 | 文件体积大 | 对音质要求高的音效 |
OGG | 开源有损压缩格式 | 压缩效率高,音质较好 | 兼容性稍差 | 游戏音效、背景音乐 |
AAC | 高级音频编码格式 | 压缩效率高,音质好 | 部分旧设备可能不支持 | 高品质音效 |
选择建议:
- 对于体积敏感的应用,优先考虑 MP3 或 OGG 格式
- 对于音质要求高且文件大小不是主要问题的场景,选择 WAV 格式
- 一般情况下,MP3 格式是最常用的选择,因为它在文件大小和音质之间取得了较好的平衡
- 注意:SoundPool 对音频文件大小有限制,过大的文件可能无法正常加载(建议单个文件不超过 1MB)
版本更新记录
v1.0.1
- 增加使用文档说明
v1.0.0
- 首次发布
- 实现基本的音频初始化和播放功能
- 支持多个音频资源同时加载和播放