Skip to content

Ping6666/My-Media-Control

Repository files navigation

Media Control

Media Control is a Chrome extension for per-tab media control.

Current version: 1.3

It is built for a simple use case: keep media playing while controlling a tab's playback speed, normal media volume, seek/playback actions, and overlay from the extension.

By default, the extension works in page mode. Page mode does not capture audio; it controls standard video and audio elements directly. Capture is optional and is only needed for enhanced tab audio control.

Why This Exists

Chrome tab mute is not always enough. Some sites behave badly when the tab is muted, and Chrome does not provide fine control for per-tab volume, speed, and hotkeys.

This extension solves that by:

  • controlling playback speed in the page without requiring capture
  • controlling normal page media volume without requiring capture
  • optionally capturing tab audio for enhanced tab-wide volume, mute, and boost
  • applying captured-tab volume control inside the extension
  • showing a floating overlay with current volume and speed
  • supporting hotkeys for quick control

Features

  • Per-tab volume control with configurable limits
  • Per-tab mute
  • Page-mode speed and volume controls before capture
  • Enhanced capture mode for tab-wide audio control and volume above 100%
  • Playback speed control with configurable limits
  • Speed reset toggle between current speed, 1.0x, and the previous non-default speed
  • Popup controls for play/pause, timeline seek, rewind/forward, previous, next, speed, and volume
  • Floating overlay with full info by default, or an optional dot that expands on hover
  • Popup media info for best-available video/audio details
  • Custom hotkeys
  • Settings for volume/speed limits, step sizes, seek step, popup size, overlay visibility, overlay style, overlay position, and hotkeys
  • Recovery handling and manual refresh for interrupted capture sessions
  • Alt+Shift+C command to capture or reconnect the current tab
  • Alt+Enter fullscreen hotkey for the current media element

Page Mode vs Captured Mode

The extension has two clear modes:

  • Page mode: the default. Use this for speed, play/pause, seek, and normal volume up to 100%. It does not need capture.
  • Captured mode: optional enhanced audio. Use this when you need volume above 100%, tab-wide mute/volume, or a site does not expose normal media volume.
  • Reconnect: the tab was captured before, but the live audio stream stopped. Page mode still works while you reconnect captured audio.

Tab-wide audio means the final audio Chrome hears from the whole tab. Page mode changes standard media elements; captured mode changes the tab's mixed audio output.

Most users should start in page mode. Capture the page only when page mode is not enough.

Default settings:

  • page-mode volume max: 100%
  • captured-mode volume max: 250%
  • speed range: 0.1x to 4.0x
  • speed step: 0.05x
  • volume step: 5%
  • seek step: 10 seconds
  • popup size: 380px by 480px
  • overlay style: full info

The volume slider shows the configured 0% to 250% range. In page mode, values above 100% are shown but cannot be selected because normal page media volume cannot boost above 100%. Captured mode can use the full range.

In captured mode, 0% and mute are applied as a near-silent gain value (0.00001) instead of absolute zero. This avoids Chrome treating the capture as silent and terminating it.

The on-page overlay is controlled by the overlay setting and shortcut, including when it shows the default state (100% volume and 1.00x speed). By default it shows the current volume and speed directly. The settings page can switch it to a compact dark blue dot that expands on hover. The overlay can be positioned in any corner from the settings page. Long media titles in the popup scroll on hover so they can be read without resizing the card.

The popup shows best-available media information inside each media card. Browser-exposed details such as video resolution, displayed size, frame/drop counts, source type, and audio availability are shown when available. The popup also includes a refresh button for capture health and a settings button that opens the control panel.

Fullscreen Behavior

When a tab is captured, some sites do not handle the player's own fullscreen button properly.

  • The player may only become a large in-window view
  • Chrome's top bar can still remain visible
  • Other desktop windows may still be visible

If the user wants real fullscreen, they should press F11 to put Chrome itself into fullscreen mode.

The overlay can still remain visible on top of the media in F11 fullscreen.

The extension also includes a page fullscreen hotkey (Alt+Enter by default). It works on standard media elements when the browser and site allow script-requested fullscreen from a key press.

How It Works

The extension first uses the content script for page-mode speed and normal media volume. This works without audio capture on standard video and audio elements. When enhanced audio is needed, the extension uses Chrome's tabCapture API to capture tab audio. The audio stream is sent to an offscreen document, where the Web Audio API applies tab-wide volume changes. Playback speed and media controls are handled by the content script inside the page.

Main files:

  • manifest.json: extension manifest
  • background.js: captured tab state, messaging, and hotkey routing
  • offscreen.js: audio processing
  • content.js: overlay, hotkeys, and in-page media control
  • popup.html + popup.js: popup UI and best-available media info
  • options.html + options.js: settings UI

Limitations

  • Enhanced audio capture must be started from the active tab or the capture shortcut because of Chrome security restrictions
  • Page-mode volume cannot boost above 100%; use enhanced capture for volume boost
  • Some Chrome pages and protected pages cannot be controlled
  • Some custom players do not expose standard media elements or buttons
  • True media codec names and bitrates are not reliably exposed to extension content scripts, so the popup does not display those fields
  • Volume boost above 100% can cause clipping or distortion
  • Some sites rebuild media elements, which may require recapture
  • On some sites, the player's fullscreen button is not true fullscreen while the tab is captured, so F11 may be needed

Installation

  1. Open chrome://extensions/
  2. Turn on Developer mode
  3. Click Load unpacked
  4. Select this project folder

Basic Usage

  1. Open a tab with playable media
  2. Open the extension popup
  3. Adjust speed, normal volume, and playback controls from the popup or hotkeys
  4. Use enhanced capture only when you need tab-wide volume, boost above 100%, or a site does not expose standard media volume
  5. Open the settings page if you want to change limits, steps, seek behavior, popup size, overlay visibility, overlay style, overlay position, or key bindings

Permissions

  • tabCapture: capture tab audio
  • tabs: identify and manage tabs
  • activeTab: interact with the current tab
  • offscreen: run the audio-processing document
  • storage: save settings and tab state
  • scripting: control media inside pages
  • <all_urls>: allow supported sites to be controlled

Tested

Tested on Chrome v146.

Verified on:

  • YouTube
  • Bilibili
  • Spotify
  • Twitch
  • Kick
  • SKLive
  • w.tv

Disclaimer: All features and code for this extension were AI-generated. (Created using Antigravity Gemini 3.1 Pro (High), Claude Opus 4.6 (Thinking) and Codex GPT-5.4, GPT-5.5 with medium reasoning.)

About

My Media Control: Chrome extension for per-tab media control that keeps playback running while managing volume, speed, hotkeys, and overlay display without relying on Chrome tab mute.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors