@scarlett-player/core 0.1.0 → 0.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +87 -0
- package/package.json +2 -2
package/README.md
ADDED
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
# @scarlett-player/core
|
|
2
|
+
|
|
3
|
+
Core player engine for Scarlett Player - a lightweight, plugin-based video player.
|
|
4
|
+
|
|
5
|
+
## Installation
|
|
6
|
+
|
|
7
|
+
```bash
|
|
8
|
+
npm install @scarlett-player/core
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
## Usage
|
|
12
|
+
|
|
13
|
+
```typescript
|
|
14
|
+
import { ScarlettPlayer } from '@scarlett-player/core';
|
|
15
|
+
import { createHLSPlugin } from '@scarlett-player/hls';
|
|
16
|
+
import { uiPlugin } from '@scarlett-player/ui';
|
|
17
|
+
|
|
18
|
+
const player = new ScarlettPlayer({
|
|
19
|
+
container: document.getElementById('player'),
|
|
20
|
+
plugins: [createHLSPlugin(), uiPlugin()],
|
|
21
|
+
});
|
|
22
|
+
|
|
23
|
+
await player.init();
|
|
24
|
+
await player.load('https://example.com/video.m3u8');
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
## API
|
|
28
|
+
|
|
29
|
+
### ScarlettPlayer
|
|
30
|
+
|
|
31
|
+
```typescript
|
|
32
|
+
const player = new ScarlettPlayer({
|
|
33
|
+
container: HTMLElement, // Required: container element
|
|
34
|
+
src?: string, // Initial source URL
|
|
35
|
+
poster?: string, // Poster image URL
|
|
36
|
+
autoplay?: boolean, // Auto-play on load (default: false)
|
|
37
|
+
muted?: boolean, // Start muted (default: false)
|
|
38
|
+
loop?: boolean, // Loop playback (default: false)
|
|
39
|
+
volume?: number, // Initial volume 0-1 (default: 1)
|
|
40
|
+
plugins?: Plugin[], // Plugins to register
|
|
41
|
+
logLevel?: 'debug' | 'info' | 'warn' | 'error',
|
|
42
|
+
});
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
### Methods
|
|
46
|
+
|
|
47
|
+
```typescript
|
|
48
|
+
player.init() // Initialize player
|
|
49
|
+
player.load(src) // Load a source
|
|
50
|
+
player.play() // Start playback
|
|
51
|
+
player.pause() // Pause playback
|
|
52
|
+
player.seek(time) // Seek to time in seconds
|
|
53
|
+
player.setVolume(0-1) // Set volume
|
|
54
|
+
player.setMuted(boolean) // Mute/unmute
|
|
55
|
+
player.setPlaybackRate(rate) // Set playback speed
|
|
56
|
+
player.requestFullscreen() // Enter fullscreen
|
|
57
|
+
player.exitFullscreen() // Exit fullscreen
|
|
58
|
+
player.destroy() // Cleanup and destroy
|
|
59
|
+
```
|
|
60
|
+
|
|
61
|
+
### Events
|
|
62
|
+
|
|
63
|
+
```typescript
|
|
64
|
+
player.on('playback:play', () => {});
|
|
65
|
+
player.on('playback:pause', () => {});
|
|
66
|
+
player.on('playback:ended', () => {});
|
|
67
|
+
player.on('playback:timeupdate', ({ currentTime }) => {});
|
|
68
|
+
player.on('playback:seeking', ({ time }) => {});
|
|
69
|
+
player.on('volume:change', ({ volume, muted }) => {});
|
|
70
|
+
player.on('fullscreen:change', ({ fullscreen }) => {});
|
|
71
|
+
player.on('quality:change', ({ quality, auto }) => {});
|
|
72
|
+
player.on('error', (error) => {});
|
|
73
|
+
```
|
|
74
|
+
|
|
75
|
+
## Plugins
|
|
76
|
+
|
|
77
|
+
The core package provides the foundation. Add plugins for functionality:
|
|
78
|
+
|
|
79
|
+
- `@scarlett-player/hls` - HLS streaming
|
|
80
|
+
- `@scarlett-player/native` - MP4, WebM, MOV, MKV
|
|
81
|
+
- `@scarlett-player/ui` - Player controls
|
|
82
|
+
- `@scarlett-player/airplay` - AirPlay casting
|
|
83
|
+
- `@scarlett-player/chromecast` - Chromecast casting
|
|
84
|
+
|
|
85
|
+
## License
|
|
86
|
+
|
|
87
|
+
MIT
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@scarlett-player/core",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.1",
|
|
4
4
|
"description": "Core player with plugin system for Scarlett Player",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.cjs",
|
|
@@ -47,7 +47,7 @@
|
|
|
47
47
|
"bugs": {
|
|
48
48
|
"url": "https://github.com/Hackney-Enterprises-Inc/scarlett-player/issues"
|
|
49
49
|
},
|
|
50
|
-
"homepage": "https://
|
|
50
|
+
"homepage": "https://scarlettplayer.com",
|
|
51
51
|
"devDependencies": {
|
|
52
52
|
"@types/node": "^20.0.0",
|
|
53
53
|
"@vitest/coverage-v8": "^1.1.0",
|