uni-app微信小程序通过uni.createInnerAudioContext()开发的音频播放器,iOS 播放没反应,安卓可以正常播放

uni-app微信小程序通过uni.createInnerAudioContext()开发的音频播放器,iOS 播放没反应,安卓可以正常播放

开发环境 版本号 项目创建方式
Mac 15.1 HBuilderX

操作步骤:

  • 直接点击播放

预期结果:

  • ios端也可以正常播放

实际结果:

  • iOS 播放没反应,安卓可以正常播放

bug描述:

  • uniapp微信小程序通过uni.createInnerAudioContext()开发的音频播放器,iOS 播放没反应,安卓可以正常播放

更多关于uni-app微信小程序通过uni.createInnerAudioContext()开发的音频播放器,iOS 播放没反应,安卓可以正常播放的实战教程也可以访问 https://www.itying.com/category-93-b0.html

5 回复

音频是什么格式的?可以发一下音频文件或者音频链接吗? 有些格式的音频ios不支持播放

更多关于uni-app微信小程序通过uni.createInnerAudioContext()开发的音频播放器,iOS 播放没反应,安卓可以正常播放的实战教程也可以访问 https://www.itying.com/category-93-b0.html


您好,方便发个可复现demo吗?以便于更好的排查问题

有方案了吗? 1.我是用audio组件 安卓正常播放,ios点击无反应 2.使用 uni.createInnerAudioContext() api创键的音频使用mp3格式,真机 安卓正常播放,ios不行。

看真机 和 vconsole 日志也没有明显报错。

这个问题通常是由于iOS系统对音频播放的限制导致的。以下是可能的原因和解决方案:

  1. iOS自动播放限制: iOS系统要求音频播放必须由用户主动触发(如点击事件),不能自动播放。确保你的播放操作是在用户明确的点击事件回调中执行的。

  2. 音频格式兼容性问题: 检查音频文件格式,iOS对音频格式支持有限,建议使用MP3格式。可以尝试更换音频源测试。

  3. 代码示例修正:

// 确保在用户点击事件中触发播放
playAudio() {
  const innerAudioContext = uni.createInnerAudioContext();
  innerAudioContext.src = '你的音频地址';
  innerAudioContext.play(); // 必须在用户点击事件中调用
}
  1. 错误监听: 添加错误监听可以帮助诊断问题:
innerAudioContext.onError((res) => {
  console.log('播放错误', res.errMsg);
});
回到顶部