tencent cloud

腾讯云超级应用服务

动态与公告
【2025年1月2日】关于腾讯云小程序平台更名为腾讯云超级应用服务的公告
控制台更新动态
Android SDK 更新动态
iOS SDK 更新动态
Flutter 更新动态
IDE 更新动态
基础库更新动态
产品简介
产品概述
产品优势
应用场景
购买指南
计费概述
按量计费(后付费)
续费指引
停服说明
快速入门
套餐管理
概述
控制台账号管理
存储配置
加速配置
品牌化配置
平台功能
控制台登录
用户和权限体系
小程序管理
小游戏管理
应用管理
商业化
平台管理
用户管理
团队管理
运营管理
安全中心
代码接入指引
Demo 及 SDK 获取
Android
iOS
Flutter
App 服务端接入指南
GUID 生成规则
小程序开发指南
小程序介绍与开发环境
小程序代码组成
指南
框架
组件
API
服务端
JS SDK
基础库
IDE 使用指南
小游戏开发指南
指南
API
服务端
实践教程
小程序登录实践教程
小程序订阅消息实践教程
支付相关实践教程
广告接入实践教程
小游戏订阅消息实践教程
相关协议
数据处理和安全协议

音频

PDF
聚焦模式
字号
最后更新时间: 2025-02-24 17:10:39
提示:如果你使用游戏引擎进行开发,游戏引擎可能已经适配了音频处理,你只需要使用游戏引擎中的组件即可。

InnerAudio

InnerAudio 播放音频的方式简便快捷,且支持流式播放,适用于播放较大音频文件,例如背景音乐。

相关API

音频配置:wx.setInnerAudioOption

示例代码

const innerAudioContext = wx.createInnerAudioContext();
innerAudioContext.src = 'https://wx_test.mp3'; // 需要自行替换链接
innerAudioContext.loop = true; // 设置循环播放
// innerAudioContext.autoplay = true; // 当可以播放时自动开始播放
innerAudioContext.onError(res => {
console.log('异常', res);
});
innerAudioContext.onPlay(() => {
console.log('开始播放')
});
innerAudioContext.onCanplay(() => {
console.log('可以播放了')
innerAudioContext.play(); // 播放
});
innerAudioContext.onStop(() => {
console.log('播放被停止')
})
innerAudioContext.onEnded(() => {
console.log('播放结束')
});
innerAudioContext.pause(); // 暂停
innerAudioContext.stop(); // 停止
innerAudioContext.destroy(); // 释放音频资源

wx.onShow(() => {
innerAudioContext.play(); // 当小游戏退后台回来时,恢复播放
})

wx.onAudioInterruptionEnd(function () {
innerAudioContext.play() // 当被其他事件中断播放结束后(如电话),恢复播放
})

支持的格式

不同音频格式在 iOS 和 Android 会有差异,参考音频

使用建议

复用已有的音频实例

对于相同的音效,应该复用已有的音频实例,而不是重新创建一个音频实例。

及时销毁不需要的音频实例

如果一个音频不再需要使用了,可以调用 InnerAudioContext.destroy() 接口提前销毁这个实例。

同时播放的音频数量限制

由于系统限制,在 Android 上最多同时播放 10 个音频,超过的部分会做有损处理,对开发者来说不感知,但开发者应尽量避免同时播放过多音频。




帮助和支持

本页内容是否解决了您的问题?

填写满意度调查问卷,共创更好文档体验。

文档反馈