在iOS Safari中,getUserMedia的权限在一分钟内超时

问题描述 投票:2回答:1

我们的网站执行了一系列定时操作,最终导致用户使用自己的麦克风录制某些东西。因为我们不想通过浏览器的“ our-domain.com想要访问麦克风[取消] [允许]”消息来中断此过程,所以我们以getUserMedia调用开始,因此当用户使用时弹出首先单击“开始”。

在大多数浏览器和设备上都可以正常工作。但是,在iOS上的Safari上似乎超时。如果网站开始录制之前的一系列操作很短(例如30秒),则一切正常。但是,如果一系列操作稍长一些(例如90秒),则权限对话框会再次弹出。

我有两个问题:

1)此行为是否记录在任何地方?我似乎找不到任何东西。是否设置了超时时间或设备可以自由设置自己的超时时间?

2)您对如何处理此案有任何建议吗?我发生的两件事是

a)每20秒ping getUserMedia一次以防止超时或

b)只是在过程开始时才开始录制,但只有在我们准备就绪时才开始保存录制。

第一个解决方案的问题是,某些浏览器具有“记住此决定”复选框,如果未选中该复选框,则每次我ping操作时都会导致弹出窗口。

第二种解决方案的问题是,当开始录制时,红色麦克风出现在浏览器中,因此用户认为我们已经开始录制。

javascript ios safari getusermedia
1个回答
0
投票

我在iOS 12中有相同的问题。显然,iOS 13上的Safari可以记住并允许用户控制每个网站的权限设置。

看看此评论:https://stackoverflow.com/a/57368061/9522511

在Apple的官方网站上:https://www.apple.com/au/ios/ios-13/features/Safari->每站点设置

如果更新操作系统不适合您的情况,那么仅在Safari上执行选项a)怎么办?

© www.soinside.com 2019 - 2024. All rights reserved.