UNPKG

@xnstream/player-sdk

Version:

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

119 lines (89 loc) 2.62 kB
# 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 ```bash npm install @xnstream/player-sdk ``` ## Quick Start ```typescript 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 ```typescript 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](https://github.com/caltek/xPlayerSDKJS)