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-sdkQuick 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(): voidseek(time: number): voidsetVolume(volume: number): voidgetVolume(): numberisMuted(): booleantoggleMute(): voidswitchLevel(level: number): voidgetLevels(): Level[]getCurrentLevel(): numberisAutolevelEnabled(): booleanseekToLive(): voiddestroy(): void
Events
ready: Emitted when the player is ready to playplaying: Emitted when playback startspaused: Emitted when playback is pausedended: Emitted when playback endsbuffering: Emitted when the player is bufferingerror: Emitted when an error occursonProgressUpdate: Emitted with playback progress updatesonLevelsLoaded: Emitted when quality levels are loadedonLevelSwitch: Emitted when quality level changesonBufferUpdated: Emitted when buffer is updatedonDataLoaded: Emitted when video data is loadedvolumechange: Emitted when volume changesonResourceChange: 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