---
title: "openvibe-sdk/player · OpenVibe.Services"
canonical: "https://openvibe.services/docs/sdk/player"
updated: null
---

# openvibe-sdk/player · OpenVibe.Services

HTML: [openvibe-sdk/player · OpenVibe.Services](https://openvibe.services/docs/sdk/player)

# `openvibe-sdk/player`

Generated at 2026-11-13 06:25:48 UTC from [`openvibe-contracts v0.419.0`](https://github.com/OpenVibers/OpenVibe.Contracts/tree/v0.419.0) and [`openvibe-sdk v0.161.0`](https://github.com/OpenVibers/OpenVibe.SDK/tree/v0.161.0).

From `types/player.d.ts` (browser build available). Declarations are shown verbatim.

## interface CurrentPlayer

~~~~
export interface CurrentPlayer {
    id: string;
    src: string;
    title: string;
    href?: string;
    live: boolean;
    sound: boolean;
    playing?: boolean;
    side?: { src: string; title: string };
}
~~~~

## interface PlayerEvent

~~~~
export interface PlayerEvent { reason: 'open' | 'close' | 'declare' | 'handoff' | 'state'; card: CurrentPlayer | null }
~~~~

## export export function current(): CurrentPlayer | null;

The active portable live stream, if one exists on this page.

~~~~
export function current(): CurrentPlayer | null;
~~~~

## export export function handoff(url: string): string;

Add the active player to an OpenVibe destination URL for same-tab navigation.

~~~~
export function handoff(url: string): string;
~~~~

## export export function on(listener: (event: PlayerEvent) => void):

Subscribe to changes. Returns a function that removes the listener.

~~~~
export function on(listener: (event: PlayerEvent) => void): () => void;
~~~~
