#javascript #webrtc #code-injection
#javascript #webrtc #внедрение кода
Вопрос:
В настоящее время я работаю над пользовательским скриптом для предоставления дополнительных функций платформе Google Stadia. Одной из реализованных функций является stream monitor для отображения потери кадров среди другой статистики, предоставляемой потоком 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);
создает проблему, которая блокирует подключение пользователя к голосовому чату. Статистика потока загружается, и все остальное, включая фактический игровой поток, работает отлично, без каких-либо ошибок, возникающих в консоли. Единственная проблема заключается в том, что пользователь может присоединиться к группе, но подключение к голосовому чату приводит к небольшой задержке, прежде чем снова увидеть опцию «Подключиться» без каких-либо ошибок.
Я уже проверил остальную часть полного скрипта, и проблема определенно заключается в внедрении. Вы повторяете ту же ошибку, используя только приведенный выше код в пользовательском скрипте; голосовой чат в группе уже больше не может подключиться.
К сожалению, я не знаю более простого способа доступа к этой статистике (единственная информация, необходимая для этого), поэтому буду признателен за любую помощь.