SSE Hooks

useMediaSession

Custom hook that interacts with the [Media Session API](https://developer.

Installation

npx sse-tool add use-media-session

Usage

import { useMediaSession } from "./{hooks file}";

const MyPlayer = () => {
  const { setMetadata, setPlaybackState } = useMediaSession({
    playbackState: "playing",
    metadata: {
      title: "Awesome Song",
      artist: "Cool Artist",
      album: "Best Hits",
      artwork: [
        { src: "/album-art.jpg", sizes: "512x512", type: "image/jpeg" },
      ],
    },
    actionHandlers: {
      play: () => console.log("Play clicked"),
      pause: () => console.log("Pause clicked"),
      nexttrack: () => console.log("Next track clicked"),
    },
  });

  return <div>Now Playing...</div>;
};

API

Parameters

NameTypeDescription
optionsUseMediaSessionOptionsInitial configuration for the media session.

Return Value

Returns UseMediaSessionReturn.

Object containing methods to control the media session and a flag indicating support.

Changelog

c165d — feat: enhance useRoleGuard and useSSR hooks with additional options and documentation

30da4 — feat: add new hooks and their metadata

b17e8 — feat: add computed and reactive hooks with support for audio recording and media session management

Built with Love • © 2026