首页 > 解决方案 > 访问 RTCMediaStreamTrack 统计信息,注入导致问题

问题描述

我目前正在开发一个用户脚本,为 Google Stadia 平台提供附加功能。实现的功能之一是流监视器,用于显示WebRTC 流提供的其他统计信息中的帧丢失。但是,在将代码注入现有函数以首先获取所述统计信息时,我们遇到了问题。

出于某种原因,甚至只是注入代码;

// ==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);

创建一个阻止用户连接到语音聊天的问题。流的统计数据被加载,包括实际游戏流在内的所有其他内容都运行良好,控制台中没有任何错误。唯一的问题是用户可以加入聚会,但连接到语音聊天会导致短暂的延迟,然后再次看到“连接”选项,没有任何错误。

我已经检查了完整脚本的其余部分,问题肯定是注入。您只需在用户脚本中使用上面的代码即可复制相同的错误;聚会中的语音聊天已经无法连接。

遗憾的是,我不知道访问这些统计数据的更简单方法(唯一需要的信息),所以任何帮助将不胜感激。

标签: javascriptwebrtccode-injection

解决方案


推荐阅读