使用 AudioContext 阻止音频在后台播放

Mar*_*Ada 8 html javascript html5-audio

我一直在使用 Web Audio API 并遇到了一个奇怪的问题。

目前,如果您在手机上打开网页并单击 HTML5 音频元素上的播放按钮,即使在切换应用程序后,音频也会继续在后台播放。

但是,当您将元素附加到 AudioContext 时,切换应用程序后音频将停止在后台播放。

要附加该元素,我使用以下命令:

const context = new AudioContext()
const source = context.createMediaElementSource(document.querySelector("audio"))

source.connect(context.destination)
Run Code Online (Sandbox Code Playgroud)

因此,即使我只是将 HTML5 音频元素连接到上下文的目标而不对其进行控制,但一旦我切换应用程序,音频就会停止播放。

有谁知道为什么会发生这种情况以及如何让音频在切换应用程序后继续在后台播放?奇怪的是,我们可以使用 Web Audio API 来控制网络上的音频,但我们必须保持浏览器打开并且手机解锁才能收听该音频。

小智 -2

预期的行为是音频在手机上的浏览器退出时停止,因为它节省了后台处理,并且从用户的角度来看,我认为预期的行为是当您关闭时音频停止。

我认为您只是在特定设备上音频工作不正常。