This browser does not expose the Media Session API.
Hardware key routing through navigator.mediaSession is not available here, so the action grid below cannot register handlers. Keyboard-only mode still works: press a media key and watch the event log below.
- Media Session API
- Not supported by this browser: navigator.mediaSession is undefined, so only raw KeyboardEvents can be tested.
- Supported actions
- none reported
- Unsupported actions
- none reported
- Action coverage
- No actions were attempted.
No events yet. Click Start test, then press play/pause, stop, track skip, volume, or your headset buttons.
Most operating systems intercept these keys system-wide (to control whatever app is playing audio) before a web page's KeyboardEvent listeners ever run, so several of these may never appear here even on a keyboard that has the keys.
Press Summarize, or press any tested key, to see which handlers fired and how hardware keys are reaching this page.
Copies the full report as JSON (caps and events). Everything above runs in this tab: your files and inputs never leave your device.
Related tools
- Gamepad TesterTest every button, trigger, and analog stick on a connected gamepad, and quantify analog stick drift precisely.
- Key Rollover TesterCheck N-key rollover and ghosting visually by holding down keys and watching a live diagram.
- Webcam & Mic TestPreview your camera, test your microphone, and watch live audio levels before a call, entirely in your browser.
- Keycode InfoShow a live readout of every keyboard event field: key, code, legacy keyCode, active modifiers, location, and repeat state.
- Mouse Polling Rate and DPI TesterMeasure a mouse's actual polling rate in Hz and real DPI from a physical move, not the numbers printed on the box.
- Multitouch TesterVisualize simultaneous touch points, dead zones, and stylus pressure.
What it does
Media Key Tester registers a handler for every Media Session action (play, pause, seek, track skip, and the less common conferencing and slide actions) and listens for the raw KeyboardEvent media keys browsers sometimes fall back to. Press play/pause, stop, track skip, volume, or your headset buttons, and it shows exactly what fired, in what order, and which registered handlers never fired at all.
How to use it
Click the panel's play button first; a silent looping audio clip starts so the browser assigns this page a media session, which is required before the OS will route hardware keys here at all. Then press the keys or headset buttons you want to test. Each event is logged live, and the summary reports whether keys arrived through Media Session, through plain KeyboardEvents, or not at all, along with a support breakdown for this browser.
Why this one
Media key bugs are notoriously hard to isolate: is the OS eating the key, is another app holding the media session, or is the page's own handler code wrong? This tool isolates the page's own behavior with a live, labeled log instead of a demo video, and never sends what you type or press anywhere; the whole test runs on your device.
FAQ
- Why does nothing happen until I click play?
- Browsers only grant a page control of the OS media session while it has an active (or recently active) audio or video element, so the panel starts a silent looping clip on click to claim that session. Without it, the OS has no reason to route hardware keys to this tab at all.
- Why do volume keys never show up here?
- Volume is not a Media Session action and is not delivered to web pages as a KeyboardEvent either; the OS or the hardware handles it directly and never tells the page. The volume rows in the keyboard key list exist because some external keyboards can technically send AudioVolumeUp/Down/Mute key events, but on most laptops and phones you will never see them fire here, and that is expected, not a bug.
- How do I make my headset or Bluetooth button work with this page?
- Click play here so the browser owns the media session, then make sure no other app (a music player, a call app, another browser tab) currently holds it, since only one media session is usually active at a time. If your headset button still does nothing, try it while audio is actually playing: several operating systems only forward the button while something is audible.