ios上音频需要点击两次才播放

问题

    用H5标签audio渲染音频,测试PC和安卓都没有问题,点击一次就播放,并且可以在播放之前正常显示音频时长

    但是在iOS系统上没有播放之前,不仅时长显示为0,并且播放还需要点击2次才正常播放

原因

debug之后发现是因为:

在iOS系统上audio的 loadedmetadata 方法,只有用户在手动点击播放之后才会触发

解决

在音频渲染结束后,自动调用静音播放,然后立即停止,这样就可以触发loadedmetadata

onMounted(() =>{
// 获取音频元素
  const audio = music.value as HTMLAudioElement;
// 开启静音
  audio.muted = true
// 调播放之后立即暂停
  audio.play().then(() =>{ 
    audio.pause()
  })
// 关闭静音
  audio.muted = false
})

  • 6
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值