// ==ユーザースクリプト== // @name リトルユニバースポッドキャストの再生速度アップ // @名前空間 httampermonkey.net// @バージョン 1.1 // @description Xiaoyuzhouウェブバージョンに再生速度制御機能を追加 // @author あなた // @match https://xiaoyuzhoufm.com/episode/rant なし // ==/ユーザースクリプト== (関数() { '厳密なものを使用する'; // オーディオ要素の読み込みを待機中 関数 waitForAudio() { const audio = document.querySelector('audio'); if (オーディオ) { スピードコントロールを追加します(オーディオ)。 } それ以外 { setTimeout(オーディオ待ち時間、500); } } // 速度制御を追加する 関数 addSpeedControl(オーディオ) { // 速度制御コンテナを作成する const speedContainer = document.createElement('div'); https://t.co/NnVY7mFfir.cssテキスト = ` 位置: 固定; 上: 80px; 右: 20px; 背景: 白; 境界線の半径: 8px; パディング: 10px; ボックスの影: 0 2px 10px rgba(0,0,0,0.1); zインデックス: 1000; ディスプレイ: フレックス; flex-direction: 列; ギャップ: 8px; `; // 速度オプション 定数速度 = [0.5, 0.75, 1.0, 1.25, 1.5, 1.75, 2.0]; // タイトルを作成 const title = document.createElement('div'); title.textContent = '再生速度調整'; https://t.co/kkc695BtY1.cssテキスト = ` フォントサイズ: 12px; 色: #666; テキスト配置: 中央; 下部マージン: 5px; `; speedContainer.appendChild(タイトル); // スピードアップボタンを作成する 速度.forEach(速度 => { const btn = document.createElement('button'); btn.textContent = `${speed}x`; https://t.co/5ZBU1WBy4L.cssテキスト = ` パディング: 8px 15px; 境界線: 1px 実線 #ddd; 境界線の半径: 5px; 背景: 白; カーソル: ポインタ; フォントサイズ: 14px; 遷移: すべて 0.2 秒; `; // 現在の速度のスタイルを設定します。 速度 === 1.0 の場合 https://t.co/5ZBU1WBy4L.background = 'var(--theme-color, #25B4E1)'; https://t.co/5ZBU1WBy4L.color = '白'; https://t.co/5ZBU1WBy4L.borderColor = 'var(--theme-color, #25B4E1)'; } btn.addEventListener('クリック', () => { audio.playbackRate = 速度; // すべてのボタンスタイルを更新 speedContainer.querySelectorAll('button').forEach(b => { https://t.co/kqnhnypYTa.background = '白'; https://t.co/kqnhnypYTa.color = '黒'; https://t.co/kqnhnypYTa.borderColor = '#ddd'; }); // 現在のボタンを強調表示します https://t.co/5ZBU1WBy4L.background = 'var(--theme-color, #25B4E1)'; https://t.co/5ZBU1WBy4L.color = '白'; https://t.co/5ZBU1WBy4L.borderColor = 'var(--theme-color, #25B4E1)'; }); btn.addEventListener('mouseenter', () => { if (audio.playbackRate !== 速度) { https://t.co/5ZBU1WBy4L.background = '#f5f5f5'; } }); btn.addEventListener('mouseleave', () => { if (audio.playbackRate !== 速度) { https://t.co/5ZBU1WBy4L.background = '白'; } }); speedContainer.appendChild(btn); }); // ページに追加 document.body.appendChild(スピードコンテナ); // キーボードショートカットのサポートを追加する document.addEventListener('keydown', (e) => { // 数字キー1~7を使用して速度を素早く切り替えます e.key >= '1' && e.key <= '7' の場合 { 定数インデックス = parseInt(e.key) - 1; if (速度[インデックス]) { audio.playbackRate = 速度[インデックス]; // 対応するボタンのクリック効果をトリガーします speedContainer.querySelectorAll('button')[index + 1].click(); } } }); console.log('速度制御が追加されました!数字キー1〜7を使用して速度をすばやく切り替えることができます'); } // 聞き始める オーディオを待機します(); })();
スレッドを読み込み中
X から元のツイートを取得し、読みやすいビューを準備しています。
通常は数秒で完了しますので、お待ちください。