streamify-audio 2.1.11 → 2.1.12
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/docs/discord/player.md +24 -1
- package/index.d.ts +8 -1
- package/package.json +1 -1
- package/src/discord/Player.js +14 -2
package/docs/discord/player.md
CHANGED
|
@@ -14,7 +14,7 @@ const player = manager.get(guildId);
|
|
|
14
14
|
|
|
15
15
|
## Playback Methods
|
|
16
16
|
|
|
17
|
-
### play(track)
|
|
17
|
+
### play(track, options?)
|
|
18
18
|
|
|
19
19
|
Plays a track immediately. If something is playing, adds to queue and skips.
|
|
20
20
|
|
|
@@ -23,6 +23,29 @@ const result = await manager.search('never gonna give you up');
|
|
|
23
23
|
await player.play(result.tracks[0]);
|
|
24
24
|
```
|
|
25
25
|
|
|
26
|
+
**Options:**
|
|
27
|
+
- `startPosition` - Start playback at a specific position in milliseconds
|
|
28
|
+
- `volume` - Set volume before playing (0-200)
|
|
29
|
+
- `filters` - Apply filters before playing
|
|
30
|
+
|
|
31
|
+
```javascript
|
|
32
|
+
// Start playing at 30 seconds
|
|
33
|
+
await player.play(track, { startPosition: 30000 });
|
|
34
|
+
|
|
35
|
+
// Start with specific volume
|
|
36
|
+
await player.play(track, { volume: 50 });
|
|
37
|
+
|
|
38
|
+
// Start with filters applied
|
|
39
|
+
await player.play(track, { filters: { bass: 10, nightcore: true } });
|
|
40
|
+
|
|
41
|
+
// Combine options (useful for session restoration)
|
|
42
|
+
await player.play(track, {
|
|
43
|
+
startPosition: savedPositionMs,
|
|
44
|
+
volume: savedVolume,
|
|
45
|
+
filters: savedFilters
|
|
46
|
+
});
|
|
47
|
+
```
|
|
48
|
+
|
|
26
49
|
### pause()
|
|
27
50
|
|
|
28
51
|
Pauses playback and destroys the stream to save resources.
|
package/index.d.ts
CHANGED
|
@@ -237,6 +237,13 @@ declare module 'streamify-audio' {
|
|
|
237
237
|
on(event: 'playerDestroy', listener: (player: Player) => void): this;
|
|
238
238
|
}
|
|
239
239
|
|
|
240
|
+
export interface PlayOptions {
|
|
241
|
+
startPosition?: number;
|
|
242
|
+
seek?: number;
|
|
243
|
+
volume?: number;
|
|
244
|
+
filters?: Filters;
|
|
245
|
+
}
|
|
246
|
+
|
|
240
247
|
export class Player extends EventEmitter {
|
|
241
248
|
constructor(manager: Manager, options: any);
|
|
242
249
|
|
|
@@ -261,7 +268,7 @@ declare module 'streamify-audio' {
|
|
|
261
268
|
disconnect(): boolean;
|
|
262
269
|
destroy(): void;
|
|
263
270
|
|
|
264
|
-
play(track: Track): Promise<void>;
|
|
271
|
+
play(track: Track, options?: PlayOptions): Promise<void>;
|
|
265
272
|
pause(destroyStream?: boolean): boolean;
|
|
266
273
|
resume(): Promise<boolean>;
|
|
267
274
|
skip(): Promise<Track | null>;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "streamify-audio",
|
|
3
|
-
"version": "2.1.
|
|
3
|
+
"version": "2.1.12",
|
|
4
4
|
"description": "Dual-mode audio library: HTTP streaming proxy + Discord player (Lavalink alternative). Supports YouTube, Spotify, SoundCloud with audio filters.",
|
|
5
5
|
"main": "index.js",
|
|
6
6
|
"types": "index.d.ts",
|
package/src/discord/Player.js
CHANGED
|
@@ -261,7 +261,19 @@ class Player extends EventEmitter {
|
|
|
261
261
|
await this.connect();
|
|
262
262
|
}
|
|
263
263
|
|
|
264
|
-
const
|
|
264
|
+
const playOptions = {
|
|
265
|
+
startPosition: options.startPosition || options.seek || 0,
|
|
266
|
+
volume: options.volume,
|
|
267
|
+
filters: options.filters
|
|
268
|
+
};
|
|
269
|
+
|
|
270
|
+
if (options.volume !== undefined) {
|
|
271
|
+
this._volume = Math.max(0, Math.min(200, options.volume));
|
|
272
|
+
}
|
|
273
|
+
|
|
274
|
+
if (options.filters) {
|
|
275
|
+
this._filters = { ...this._filters, ...options.filters };
|
|
276
|
+
}
|
|
265
277
|
|
|
266
278
|
if (this.queue.current) {
|
|
267
279
|
this.queue.add(track, 0);
|
|
@@ -269,7 +281,7 @@ class Player extends EventEmitter {
|
|
|
269
281
|
}
|
|
270
282
|
|
|
271
283
|
this.queue.setCurrent(track);
|
|
272
|
-
return this._playTrack(track, startPosition);
|
|
284
|
+
return this._playTrack(track, playOptions.startPosition);
|
|
273
285
|
}
|
|
274
286
|
|
|
275
287
|
async _playTrack(track, startPosition = 0) {
|