[英]Play audio on android but not on iphone
我在 vue3 中构建了应用程序。 每当扫描二维码时,它都会触发播放声音的功能。 这在 android 和 web 上工作正常,但在 ios 上使用浏览器时却不行。 我不知道出了什么问题。 谁有线索?
<qrcode-stream
:camera="camera"
@decode="onDecode"
:torch="torch"
:track="drawoutline"
>
</qrcode-stream>
触发函数:
async function onDecode(data) {
new Audio(require("../assets/audio.mp3")).play();
}
如果我用一个按钮触发它,它会播放音频,但不会在检测到二维码时即时播放:
<q-btn
label="play sound"
@click="onDecode('Audio')"
></q-btn>
这非常简单。 它在 android 和网络上运行良好,但是在 ios 上的网络上运行它时,除非您按下按钮,否则它不会播放任何音频。 为什么?
没有用户通过交互启动它,你不能在 iOS 上自动播放音频。 这是iOS 施加的限制。
在用户启动播放之前,JavaScript play() 和 load() 方法也处于非活动状态,除非 play() 或 load() 方法由用户操作触发。 换句话说,用户启动的播放按钮有效,但 onLoad="play()" 事件无效。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.