@xnstream/player-sdk
Version:
XStream Player SDK - A powerful video player SDK for streaming content
119 lines (89 loc) • 2.62 kB
Markdown
# 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)