@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.
Files changed (2) hide show
  1. package/README.md +87 -0
  2. 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.0",
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://github.com/Hackney-Enterprises-Inc/scarlett-player#readme",
50
+ "homepage": "https://scarlettplayer.com",
51
51
  "devDependencies": {
52
52
  "@types/node": "^20.0.0",
53
53
  "@vitest/coverage-v8": "^1.1.0",