我目前正在使用用户脚本为Google Stadia平台提供其他功能。实现的功能之一是流监视器,用于显示WebRTC流提供的其他statistics中的帧丢失。但是,在向现有功能中注入代码以首先获得所述统计信息时,我们会遇到问题。
出于某种原因,甚至只是注入代码;
// ==UserScript==
// @name Stadia Test
// @version 0.1
// @author ChristopherKlay
// @match https://stadia.google.com/*home
// @grant none
// ==/UserScript==
var peerConnections = [];
(function(original) {
RTCPeerConnection = function() {
var connection = new original(arguments);
peerConnections.push(connection);
return connection;
};
RTCPeerConnection.prototype = original.prototype;
})(RTCPeerConnection);
造成了一个问题,该问题阻止了用户连接到语音聊天。流的统计信息将被加载,并且其他所有内容(包括实际的游戏流)都可以正常运行,并且不会在控制台中引发任何错误。唯一的问题是用户可以加入聚会,但是连接到语音聊天会导致短暂的延迟,然后再次看到“连接”选项,没有任何错误。
我已经检查了full script的其余部分,问题肯定是注射。您仅通过在用户脚本中使用以上代码即可复制相同的错误;派对中的语音聊天已经无法连接。
可悲的是,我不知道一种更简单的方法来访问这些统计信息(唯一需要的信息),因此将不胜感激。