禁用iOS Safari锁定屏幕清理器以获取媒体

时间:2019-06-27 03:13:49

标签: javascript ios mobile-safari html5-audio lockscreen

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

const a = new Audio();
a.src = 'https://example.com/audio.m4a'
a.play();

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

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

我如何禁用用户在锁定屏幕上擦洗文件的功能?显示 的元数据很好,并且能够暂停/播放也是可以接受的,但是我也可以在需要时将其全部禁用。

iOS Lock Screen

3 个答案:

答案 0 :(得分:4)

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

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

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
})

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

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

答案 1 :(得分:4)

根据我的理解,除非您可以将音频标记为实时流,否则您不能阻止/隐藏清理命令。话虽如此,您可以使用js拒绝清理服务器端。参考答案here。尽管该答案涉及视频,但也可以与音频一起使用。

答案 2 :(得分:2)

我进行了搜索,以寻求帮助您的方法,但是我没有找到禁用命令的有效方法,但是,我找到了一种自定义命令的方法,可能会对您有所帮助,请按照{{3 }}

我认为现在剩下要做的就是等待,看看ios 13是否会带来一些可以满足您需求的选项。