已阻止尝试创建WebMediaPlayer,因为已存在太多WebMediaPlayer

Blocked attempt to create a WebMediaPlayer as there are too many WebMediaPlayers already in existence(已阻止尝试创建WebMediaPlayer,因为已存在太多WebMediaPlayer)

本文介绍了已阻止尝试创建WebMediaPlayer,因为已存在太多WebMediaPlayer的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我们正在开发一个类似于浏览器中的数字音频工作站。我们需要在一个选项卡中处理多个音频文件。我们使用new Audio(audioUrl)可以在我们自己的混音器中播放音频。到目前为止,它一直在为我们工作。

在最新版本的Chrome(92)中,我们遇到了上述代码片段导致以下错误的问题:

[Intervention] Blocked attempt to create a WebMediaPlayer as there are too many WebMediaPlayers already in existence. See crbug.com/1144736#c27

我无法访问提供的错误链接,它显示权限被拒绝。是否有建议的解决方法来处理此问题?

更新: 我从使用HTMLAudioElement改为使用AudioBufferSourceNode。这似乎是唯一直接的解决方案,因为Chrome团队正在讨论如何限制它们。注意:我们可能需要1000个以上的音频剪辑才能播放。这是指他们将在2021年8月5日的下一版本中将webmediaplayers的数量增加到1000的铬讨论主题。

推荐答案

Chrome92对特定选项卡中可以分配的音频和视频标签的数量进行了限制。 桌面浏览器为75,移动浏览器为40。

目前唯一的解决方案是限制页面中创建的音频和视频标签的数量。尝试重新使用已分配的音频/视频元素。

只有在启动Chrome时传递以下标志才能增加数量,例如--max-web-media-player-count=5000 (当然,我们不能期望最终用户这样做)

相关源代码如下: https://chromium-review.googlesource.com/c/chromium/src/+/2816118

编辑:

在取消分配音频/视频元素之前,以下设置似乎会强制清理该元素。

mediaElement.remove();
mediaElement.srcObject = null;

这篇关于已阻止尝试创建WebMediaPlayer,因为已存在太多WebMediaPlayer的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!

本文标题为:已阻止尝试创建WebMediaPlayer,因为已存在太多WebMediaPlayer

基础教程推荐