JSPM

  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 9
  • Score
    100M100P100Q70955F
  • License MIT

XStream Player SDK - A powerful video player SDK for streaming content

Package Exports

  • @xnstream/player-sdk
  • @xnstream/player-sdk/package.json

Readme

XStream Player SDK

A powerful and feature-rich video player SDK for streaming content, built with TypeScript and HLS.js.

Features

  • HLS (HTTP Live Streaming) support
  • Adaptive bitrate streaming
  • Analytics tracking
  • Quality level switching
  • Customizable UI
  • TypeScript support
  • Comprehensive event system
  • Bandwidth monitoring
  • Watch time tracking

Installation

npm install @xnstream/player-sdk

Quick Start

import { StreamPlayer } from '@xnstream/player-sdk';

// Create player instance
const player = await StreamPlayer.create({
  appId: 'your-app-id',
  stream_code: 'your-stream-code',
  containerId: 'player-container'
});

// Initialize the player
await player.initialize();

// Play the stream
await player.play();

API Reference

StreamPlayer

The main player class that handles video playback and streaming.

Methods

  • create(options: StreamPlayerOptions): Promise<StreamPlayer>
  • initialize(): Promise<void>
  • play(): Promise<void>
  • pause(): void
  • seek(time: number): void
  • setVolume(volume: number): void
  • getVolume(): number
  • isMuted(): boolean
  • toggleMute(): void
  • switchLevel(level: number): void
  • getLevels(): Level[]
  • getCurrentLevel(): number
  • isAutolevelEnabled(): boolean
  • seekToLive(): void
  • destroy(): void

Events

  • ready: Emitted when the player is ready to play
  • playing: Emitted when playback starts
  • paused: Emitted when playback is paused
  • ended: Emitted when playback ends
  • buffering: Emitted when the player is buffering
  • error: Emitted when an error occurs
  • onProgressUpdate: Emitted with playback progress updates
  • onLevelsLoaded: Emitted when quality levels are loaded
  • onLevelSwitch: Emitted when quality level changes
  • onBufferUpdated: Emitted when buffer is updated
  • onDataLoaded: Emitted when video data is loaded
  • volumechange: Emitted when volume changes
  • onResourceChange: Emitted when the resource changes

Configuration

StreamPlayerOptions

interface StreamPlayerOptions {
  appId: string;
  stream_code: string;
  containerId: string;
}

Analytics

The SDK includes built-in analytics tracking for:

  • Watch time
  • Bandwidth usage
  • Error tracking
  • Quality level changes

Browser Support

  • Chrome (latest)
  • Firefox (latest)
  • Safari (latest)
  • Edge (latest)

License

MIT

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

Repository

This project is hosted on GitHub: https://github.com/caltek/xPlayerSDKJS