您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Forcefully chose a specific webrtc input/output audio/video device
当前为
- // ==UserScript==
- // @name WebRTC media source switcher
- // @namespace https://daniil.it
- // @version 0.1.2
- // @description Forcefully chose a specific webrtc input/output audio/video device
- // @author Daniil Gentili <daniil@daniil.it>
- // @match https://*/*
- // @grant none
- // ==/UserScript==
- (function() {
- 'use strict';
- var hidden = {
- enumerateDevices: navigator.mediaDevices.enumerateDevices.bind(navigator.mediaDevices)
- }
- navigator.mediaDevices.enumerateDevices = () => hidden.enumerateDevices().then(res => {
- if (window.newRes) {
- return window.newRes;
- } else {
- window.newRes = [];
- }
- var temp = {};
- var tempLabels = {};
- for (var i = 0; i < res.length; i++) {
- if (!temp[res[i].kind]) {
- temp[res[i].kind] = [];
- tempLabels[res[i].kind] = "Choose a "+res[i].kind+" device:\n";
- }
- temp[res[i].kind].push(res[i])
- tempLabels[res[i].kind] += temp[res[i].kind].length+": "+res[i].label+"\n"
- }
- for (let [key, value] of Object.entries(tempLabels)) {
- var choice = prompt(value);
- window.newRes.push(temp[key][choice-1]);
- }
- return window.newRes;
- })
- })();
QingJ © 2025
镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址