javascript - Android 7 Chrome - play() 失败,因为用户没有先与文档交互

标签 javascript android html5-audio

我需要能够在收到订单后立即在后端播放声音。通过 Web 通知,会显示一条消息,而这正是应该播放声音的位置。 它适用于桌面设备,但不适用于 Android 7。

在 Android 设备上,我已经将后端添加为主屏幕。 Android设备为商米V2。

<audio id="notifiction_sound" src="/sounds/alarm.mp3" loop preload="auto" muted></audio>

此函数将在 Web 通知触发后调用

window.ringSound = () =>
{
    let soundElem = document.getElementById('notifiction_sound');

    soundElem.muted = false;
    soundElem.pause();
    soundElem.currentTime = 0;
    window.waitFor(1000);
    soundElem.play();
};

有人知道这个问题的解决方法吗?

最佳答案

使用最新版本的 Chrome/Firefox Mobile 时,目前似乎没有有效的解决方案。 因此,所有受此影响的设备都将配备 Opera Mobile。因为在这里它仍然有效

关于javascript - Android 7 Chrome - play() 失败,因为用户没有先与文档交互,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59750034/

相关文章:

javascript - .live() 的行为与 .bind() 不同

javascript - 使用 jQuery 动态创建多个 div 并为每个 div 分配不同的 css 属性

java - 禁用 LINT 检查有哪些副作用?

audio - Web Audio API在单个 channel 中合并音频无法完全正常工作

javascript - 尝试更改音量时出现 IndexSizeError

javascript - jquery onload 选择日期

javascript - 在 if 语句中分配变量并检测 null

android - Location.distanceTo() 使用什么样的公式?

Android Studio Unresolved reference 。项目编译

HTML5 音频播放器在移动设备上调整大小