capacitor-plugin-playlist 0.10.3 → 0.10.9

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.
@@ -2,49 +2,161 @@ import { PluginListenerHandle } from '@capacitor/core';
2
2
  import { AudioPlayerOptions, AudioTrack, PlaylistItemOptions, PlaylistStatusChangeCallback } from './interfaces';
3
3
  export interface PlaylistPlugin {
4
4
  /**
5
- * Listen for screen reader state change (on/off)
5
+ * Subscribe to native playback status events (track changes, position, errors, etc.).
6
+ *
7
+ * @param eventName Must be `'status'`.
8
+ * @param listenerFunc Callback receiving `{ action, status }` where `status.msgType` is a `RmxAudioStatusMessage`.
6
9
  */
7
10
  addListener(eventName: 'status', listenerFunc: PlaylistStatusChangeCallback): Promise<PluginListenerHandle>;
11
+ /**
12
+ * Configure plugin behaviour (verbose logging, stream pause handling, notification icon).
13
+ * Can be called at any time; not required before playback.
14
+ */
8
15
  setOptions(options: AudioPlayerOptions): Promise<void>;
16
+ /**
17
+ * Initialise the native player, register status callbacks, and arm lock-screen / notification controls.
18
+ * Call once before playback (e.g. on app start).
19
+ */
9
20
  initialize(): Promise<void>;
21
+ /**
22
+ * Tear down native resources (audio session, media service, observers).
23
+ * Call when the app no longer needs background audio (e.g. on logout).
24
+ */
10
25
  release(): Promise<void>;
26
+ /**
27
+ * Replace the entire playlist. Clears all previous items.
28
+ * Use `options.retainPosition` to keep the current track and playback position.
29
+ */
11
30
  setPlaylistItems(options: PlaylistOptions): Promise<void>;
31
+ /**
32
+ * Append a single track to the end of the playlist.
33
+ */
12
34
  addItem(options: AddItemOptions): Promise<void>;
35
+ /**
36
+ * Append multiple tracks to the end of the playlist.
37
+ * Raises one `RMXSTATUS_ITEM_ADDED` event per track.
38
+ */
13
39
  addAllItems(options: AddAllItemOptions): Promise<void>;
40
+ /**
41
+ * Remove a track by index (preferred) or id.
42
+ * If the removed track is currently playing, the next track starts automatically.
43
+ */
14
44
  removeItem(options: RemoveItemOptions): Promise<void>;
45
+ /**
46
+ * Remove multiple tracks in a single batch.
47
+ * If the currently playing track is removed, the next available track starts automatically.
48
+ */
15
49
  removeItems(options: RemoveItemsOptions): Promise<void>;
50
+ /**
51
+ * Remove all tracks from the playlist. Raises `RMXSTATUS_PLAYLIST_CLEARED` and `RMXSTATUS_STOPPED`.
52
+ */
16
53
  clearAllItems(): Promise<void>;
54
+ /**
55
+ * Return a snapshot of the current playlist items.
56
+ */
17
57
  getPlaylist(): Promise<GetPlaylistResult>;
58
+ /**
59
+ * Start or resume playback of the current track.
60
+ * No-op if the playlist is empty.
61
+ */
18
62
  play(): Promise<void>;
63
+ /**
64
+ * Pause playback of the current track.
65
+ */
19
66
  pause(): Promise<void>;
67
+ /**
68
+ * Skip to the next track. At the end of the playlist, wraps to the beginning when loop is enabled.
69
+ */
20
70
  skipForward(): Promise<void>;
71
+ /**
72
+ * Skip to the previous track. No-op when already at the first track.
73
+ */
21
74
  skipBack(): Promise<void>;
75
+ /**
76
+ * Seek to a position (seconds) in the currently playing track.
77
+ * If the position exceeds track length, playback advances to the next track.
78
+ */
22
79
  seekTo(options: SeekToOptions): Promise<void>;
80
+ /**
81
+ * Jump to the track at the given 0-based index and start playback.
82
+ */
23
83
  playTrackByIndex(options: PlayByIndexOptions): Promise<void>;
84
+ /**
85
+ * Jump to the track with the given id and start playback.
86
+ */
24
87
  playTrackById(options: PlayByIdOptions): Promise<void>;
88
+ /**
89
+ * Select the track at the given index without necessarily starting playback.
90
+ */
25
91
  selectTrackByIndex(options: SelectByIndexOptions): Promise<void>;
92
+ /**
93
+ * Select the track with the given id without necessarily starting playback.
94
+ */
26
95
  selectTrackById(options: SelectByIdOptions): Promise<void>;
96
+ /**
97
+ * Set media stream volume. Float in range [0, 1].
98
+ * Hardware volume controls still apply on top of this value.
99
+ */
27
100
  setPlaybackVolume(options: SetPlaybackVolumeOptions): Promise<void>;
101
+ /**
102
+ * When true, the playlist loops back to the first track after the last track completes.
103
+ */
28
104
  setLoop(options: SetLoopOptions): Promise<void>;
105
+ /**
106
+ * Set playback speed. Float value; 0 pauses, 1 is normal speed.
107
+ */
29
108
  setPlaybackRate(options: SetPlaybackRateOptions): Promise<void>;
30
109
  /**
31
- * Epic 45 — release native audio session / focus so the video player can own playback.
32
- * Call immediately before CapacitorVideoPlayer.initPlayer (Critical Rule 2).
110
+ * Release native audio session / focus so a video player can own playback.
111
+ *
112
+ * **Android:** pauses current track, abandons audio focus, stores head position. Does not stop the foreground media service.
113
+ * **iOS:** pauses, captures head position, deactivates `AVAudioSession` with `notifyOthersOnDeactivation`.
114
+ * **Web:** pauses HTMLAudioElement and stores `currentTime`.
115
+ *
116
+ * Call immediately before native video starts (e.g. your video plugin's init method).
33
117
  */
34
118
  prepareForVideoHandoff(): Promise<void>;
35
119
  /**
36
- * Epic 45 optional resume hook after video exits (full behaviour in Stories 45.3/45.4).
120
+ * Re-arm native audio after video ends or, on Android, prewarm the media service before video starts.
121
+ *
122
+ * **Without `prewarm` (typical exit path):**
123
+ * - Android: when `play` is true (default), re-acquires focus and resumes at `position`. When `resumed` is `true`, JS should skip redundant `seekTo`/`play`. When `play` is false, clears handoff retain and returns `{ resumed: false }` so JS can seek without playing.
124
+ * - iOS: restores pinned track, reactivates `AVAudioSession`, seeks to `position`, and when `play` is true starts playback (seek-then-play). Returns `{ resumed: true }` when native handled the handoff.
125
+ * - Web: stores position only (no native session); returns `{ resumed: false }`.
126
+ *
127
+ * **With `prewarm: true` (Android, before video):** starts `MediaService` in foreground at `position` but stays silent — no audio focus, no audible playback. Always returns `{ resumed: false }`.
37
128
  */
38
- resumeAfterVideoHandoff(options: ResumeAfterVideoHandoffOptions): Promise<void>;
129
+ resumeAfterVideoHandoff(options: ResumeAfterVideoHandoffOptions): Promise<ResumeAfterVideoHandoffResult>;
39
130
  /**
40
- * Epic 45 — last audio head captured during prepare (seconds).
131
+ * Return the audio head position (seconds) captured during the most recent `prepareForVideoHandoff`
132
+ * or passed to `resumeAfterVideoHandoff`.
41
133
  */
42
134
  getLastKnownPosition(): Promise<GetLastKnownPositionResult>;
43
135
  }
44
136
  export interface ResumeAfterVideoHandoffOptions {
137
+ /** Resume position in seconds (video exit head or saved audio position). */
45
138
  position: number;
46
- /** Android: keep MediaService FGS alive (with WIU) while native video plays. */
139
+ /**
140
+ * **Android only.** When `true`, promote `MediaService` to foreground and prepare at `position`
141
+ * without requesting audio focus or playing audio. Use immediately after `prepareForVideoHandoff`
142
+ * and before native video starts, while the app is still foregrounded.
143
+ * Ignored on iOS (no-op). Not applicable on web.
144
+ */
47
145
  prewarm?: boolean;
146
+ /**
147
+ * When `true`, native starts audible playback after seeking to `position`.
148
+ * When `false` (paused video exit), native must not start playback.
149
+ * iOS defaults to `false` when omitted; Android defaults to `true` for legacy callers.
150
+ */
151
+ play?: boolean;
152
+ }
153
+ export interface ResumeAfterVideoHandoffResult {
154
+ /**
155
+ * `true` when native already handled seek (and play when requested) in place.
156
+ * When `true`, JS should skip redundant `seekTo` / `play` to avoid a stutter.
157
+ * `false` on web, prewarm, paused Android handoff, and Android last-resort `beginPlayback`.
158
+ */
159
+ resumed: boolean;
48
160
  }
49
161
  export interface GetLastKnownPositionResult {
50
162
  position: number;
package/dist/esm/web.d.ts CHANGED
@@ -38,7 +38,9 @@ export declare class PlaylistWeb extends WebPlugin implements PlaylistPlugin {
38
38
  prepareForVideoHandoff(): Promise<void>;
39
39
  resumeAfterVideoHandoff(options: {
40
40
  position: number;
41
- }): Promise<void>;
41
+ }): Promise<{
42
+ resumed: boolean;
43
+ }>;
42
44
  getLastKnownPosition(): Promise<{
43
45
  position: number;
44
46
  }>;
package/dist/esm/web.js CHANGED
@@ -163,41 +163,36 @@ export class PlaylistWeb extends WebPlugin {
163
163
  return Promise.resolve();
164
164
  }
165
165
  async skipForward() {
166
- let found = null;
167
- this.playlistItems.forEach((item, index) => {
168
- if (found === null && this.getCurrentTrackId() === item.trackId) {
169
- found = index;
170
- }
171
- });
172
- if (found === this.playlistItems.length - 1) {
173
- found = -1;
166
+ const currentIndex = this.getCurrentIndex();
167
+ if (currentIndex < 0) {
168
+ return;
174
169
  }
175
- if (found !== null) {
176
- const targetIndex = found + 1;
177
- this.updateStatus(RmxAudioStatusMessage.RMX_STATUS_SKIP_FORWARD, {
178
- currentIndex: targetIndex,
179
- currentItem: this.playlistItems[targetIndex]
180
- }, this.playlistItems[targetIndex].trackId);
181
- return this.setCurrent(this.playlistItems[targetIndex]);
170
+ let targetIndex = currentIndex + 1;
171
+ if (targetIndex >= this.playlistItems.length) {
172
+ if (!this.loop) {
173
+ return;
174
+ }
175
+ targetIndex = 0;
182
176
  }
183
- return Promise.reject();
177
+ const targetTrack = this.playlistItems[targetIndex];
178
+ await this.setCurrent(targetTrack);
179
+ this.updateStatus(RmxAudioStatusMessage.RMX_STATUS_SKIP_FORWARD, {
180
+ currentIndex: targetIndex,
181
+ currentItem: targetTrack
182
+ }, targetTrack.trackId);
184
183
  }
185
184
  async skipBack() {
186
- let found = null;
187
- this.playlistItems.forEach((item, index) => {
188
- if (found === null && this.getCurrentTrackId() === item.trackId) {
189
- found = index;
190
- }
191
- });
192
- if (found !== null) {
193
- const targetIndex = found === 0 ? this.playlistItems.length - 1 : found - 1;
194
- this.updateStatus(RmxAudioStatusMessage.RMX_STATUS_SKIP_BACK, {
195
- currentIndex: targetIndex,
196
- currentItem: this.playlistItems[targetIndex]
197
- }, this.playlistItems[targetIndex].trackId);
198
- return this.setCurrent(this.playlistItems[targetIndex]);
185
+ const currentIndex = this.getCurrentIndex();
186
+ if (currentIndex <= 0) {
187
+ return;
199
188
  }
200
- return Promise.reject();
189
+ const targetIndex = currentIndex - 1;
190
+ const targetTrack = this.playlistItems[targetIndex];
191
+ await this.setCurrent(targetTrack);
192
+ this.updateStatus(RmxAudioStatusMessage.RMX_STATUS_SKIP_BACK, {
193
+ currentIndex: targetIndex,
194
+ currentItem: targetTrack
195
+ }, targetTrack.trackId);
201
196
  }
202
197
  setPlaybackRate(options) {
203
198
  if (this.audio) {
@@ -214,7 +209,7 @@ export class PlaylistWeb extends WebPlugin {
214
209
  }
215
210
  async resumeAfterVideoHandoff(options) {
216
211
  this.lastKnownHandoffPosition = options.position;
217
- return Promise.resolve();
212
+ return Promise.resolve({ resumed: false });
218
213
  }
219
214
  async getLastKnownPosition() {
220
215
  return Promise.resolve({ position: this.lastKnownHandoffPosition });
@@ -334,14 +329,7 @@ export class PlaylistWeb extends WebPlugin {
334
329
  return 'INVALID';
335
330
  }
336
331
  getCurrentIndex() {
337
- if (this.currentTrack) {
338
- for (let i = 0; i < this.playlistItems.length; i++) {
339
- if (this.playlistItems[i].trackId === this.currentTrack.trackId) {
340
- return i;
341
- }
342
- }
343
- }
344
- return -1;
332
+ return this.currentTrack ? this.playlistItems.indexOf(this.currentTrack) : -1;
345
333
  }
346
334
  getCurrentTrackStatus(currentState) {
347
335
  var _a, _b, _c;
@@ -1 +1 @@
1
- {"version":3,"file":"web.js","sourceRoot":"","sources":["../../src/web.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"web.js","sourceRoot":"","sources":["../../src/web.ts"],"names":[],"mappings":"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"}
@@ -383,28 +383,25 @@ class RmxAudioPlayer {
383
383
  if (!removeItem) {
384
384
  throw new Error('Track removal spec is empty');
385
385
  }
386
- if (!removeItem.trackId && !removeItem.trackIndex) {
386
+ if (!removeItem.trackId && removeItem.trackIndex === undefined) {
387
387
  throw new Error('Track removal spec is invalid');
388
388
  }
389
- const opts = {};
390
- if (removeItem.trackIndex !== undefined && removeItem.trackIndex !== null) {
391
- opts.index = removeItem.trackIndex;
392
- }
393
- if (removeItem.trackId) {
394
- opts.id = removeItem.trackId;
395
- }
396
- return Playlist.removeItem(opts);
389
+ return Playlist.removeItem({
390
+ id: removeItem.trackId,
391
+ index: removeItem.trackIndex
392
+ });
397
393
  };
398
394
  /**
399
395
  * Removes all given tracks from the playlist; these can be specified either by trackId or trackIndex. If the removed items
400
396
  * include the currently playing item, the next available item will automatically begin playing.
401
397
  */
402
398
  this.removeItems = (items) => {
403
- const mapped = (items || []).map((item) => ({
404
- id: item === null || item === void 0 ? void 0 : item.trackId,
405
- index: item === null || item === void 0 ? void 0 : item.trackIndex
406
- }));
407
- return Playlist.removeItems({ items: mapped });
399
+ return Playlist.removeItems({
400
+ items: (items || []).map((item) => ({
401
+ id: item === null || item === void 0 ? void 0 : item.trackId,
402
+ index: item === null || item === void 0 ? void 0 : item.trackIndex
403
+ }))
404
+ });
408
405
  };
409
406
  /**
410
407
  * Clear the entire playlist. This will result in the STOPPED event being raised.
@@ -740,41 +737,36 @@ class PlaylistWeb extends core.WebPlugin {
740
737
  return Promise.resolve();
741
738
  }
742
739
  async skipForward() {
743
- let found = null;
744
- this.playlistItems.forEach((item, index) => {
745
- if (found === null && this.getCurrentTrackId() === item.trackId) {
746
- found = index;
740
+ const currentIndex = this.getCurrentIndex();
741
+ if (currentIndex < 0) {
742
+ return;
743
+ }
744
+ let targetIndex = currentIndex + 1;
745
+ if (targetIndex >= this.playlistItems.length) {
746
+ if (!this.loop) {
747
+ return;
747
748
  }
748
- });
749
- if (found === this.playlistItems.length - 1) {
750
- found = -1;
751
- }
752
- if (found !== null) {
753
- const targetIndex = found + 1;
754
- this.updateStatus(exports.RmxAudioStatusMessage.RMX_STATUS_SKIP_FORWARD, {
755
- currentIndex: targetIndex,
756
- currentItem: this.playlistItems[targetIndex]
757
- }, this.playlistItems[targetIndex].trackId);
758
- return this.setCurrent(this.playlistItems[targetIndex]);
749
+ targetIndex = 0;
759
750
  }
760
- return Promise.reject();
751
+ const targetTrack = this.playlistItems[targetIndex];
752
+ await this.setCurrent(targetTrack);
753
+ this.updateStatus(exports.RmxAudioStatusMessage.RMX_STATUS_SKIP_FORWARD, {
754
+ currentIndex: targetIndex,
755
+ currentItem: targetTrack
756
+ }, targetTrack.trackId);
761
757
  }
762
758
  async skipBack() {
763
- let found = null;
764
- this.playlistItems.forEach((item, index) => {
765
- if (found === null && this.getCurrentTrackId() === item.trackId) {
766
- found = index;
767
- }
768
- });
769
- if (found !== null) {
770
- const targetIndex = found === 0 ? this.playlistItems.length - 1 : found - 1;
771
- this.updateStatus(exports.RmxAudioStatusMessage.RMX_STATUS_SKIP_BACK, {
772
- currentIndex: targetIndex,
773
- currentItem: this.playlistItems[targetIndex]
774
- }, this.playlistItems[targetIndex].trackId);
775
- return this.setCurrent(this.playlistItems[targetIndex]);
776
- }
777
- return Promise.reject();
759
+ const currentIndex = this.getCurrentIndex();
760
+ if (currentIndex <= 0) {
761
+ return;
762
+ }
763
+ const targetIndex = currentIndex - 1;
764
+ const targetTrack = this.playlistItems[targetIndex];
765
+ await this.setCurrent(targetTrack);
766
+ this.updateStatus(exports.RmxAudioStatusMessage.RMX_STATUS_SKIP_BACK, {
767
+ currentIndex: targetIndex,
768
+ currentItem: targetTrack
769
+ }, targetTrack.trackId);
778
770
  }
779
771
  setPlaybackRate(options) {
780
772
  if (this.audio) {
@@ -791,7 +783,7 @@ class PlaylistWeb extends core.WebPlugin {
791
783
  }
792
784
  async resumeAfterVideoHandoff(options) {
793
785
  this.lastKnownHandoffPosition = options.position;
794
- return Promise.resolve();
786
+ return Promise.resolve({ resumed: false });
795
787
  }
796
788
  async getLastKnownPosition() {
797
789
  return Promise.resolve({ position: this.lastKnownHandoffPosition });
@@ -911,14 +903,7 @@ class PlaylistWeb extends core.WebPlugin {
911
903
  return 'INVALID';
912
904
  }
913
905
  getCurrentIndex() {
914
- if (this.currentTrack) {
915
- for (let i = 0; i < this.playlistItems.length; i++) {
916
- if (this.playlistItems[i].trackId === this.currentTrack.trackId) {
917
- return i;
918
- }
919
- }
920
- }
921
- return -1;
906
+ return this.currentTrack ? this.playlistItems.indexOf(this.currentTrack) : -1;
922
907
  }
923
908
  getCurrentTrackStatus(currentState) {
924
909
  var _a, _b, _c;