禁用媒体的 iOS Safari 锁定屏幕擦洗器

Bra*_*rad 7 javascript mobile-safari lockscreen ios html5-audio

iOS 上的 Safari 在其锁定屏幕上放置了一个用于简单 HTMLAudioElements 的擦洗器。例如:

const a = new Audio();
a.src = 'https://example.com/audio.m4a'
a.play();
Run Code Online (Sandbox Code Playgroud)

JSFiddle:https ://jsfiddle.net/0seckLfd/

锁定屏幕将允许我在当前播放的音频文件中选择一个位置。

如何禁用用户在锁定屏幕上擦洗文件的功能?元数据显示罚款,并能够暂停/播放也是可以接受的,但我也罚款禁用这一切,如果我需要。

iOS 锁屏

fad*_*ire 7

完全禁用锁定屏幕上的播放器

如果您想完全删除锁屏播放器,您可以执行以下操作

const a = new Audio();
document.querySelector('button').addEventListener('click', (e) => {
  a.src = 'http://sprott.physics.wisc.edu/wop/sounds/Bicycle%20Race-Full.m4a' 
  a.play();
});

document.addEventListener('visibilitychange', () => {
  if (document.hidden) a.src = undefined
})

Run Code Online (Sandbox Code Playgroud)

https://jsfiddle.net/5s8c9eL0/3/

在更改选项卡或锁定屏幕时停止播放器(根据您的需要改进要清理的代码)


Luk*_*kas 3

据我了解,除非您可以将音频标记为实时流,否则您无法阻止/隐藏清理命令。话虽这么说,你可以使用js来拒绝服务器端的擦洗。参考这里的答案。尽管该答案谈到了视频,但它也适用于音频。