capacitor-plugin-playlist 0.1.25 → 0.1.29

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 CHANGED
@@ -1,10 +1,7 @@
1
1
  # capacitor-plugin-playlist
2
2
  Will probably be published as @dwbn/capacitor-playlist
3
3
 
4
- A capacitor plugin for Android, iOS and Web with native support for audio playlists, background support, and lock screen controls
5
-
6
- Capacitor 3 Version: > 0.1.0
7
- Capacitor 2 Version: < v0.1.0
4
+ A capacitor 3. 0 plugin for Android, iOS and Web with native support for audio playlists, background support, and lock screen controls
8
5
 
9
6
  ## 0. Index
10
7
 
@@ -108,20 +105,32 @@ Be sure to check out the examples folder, where you can find an Angular10/Ionic5
108
105
  Just drop into your project and go.
109
106
  Should be quite obvious howto adapt this for other frameworks, or just vanillaJS
110
107
 
108
+ ### API
109
+ Example:
110
+ @see definition.ts
111
+ ```
112
+ import {Playlist, AudioTrack} from 'capacitor-plugin-playlist'
113
+
114
+ const item: AudioTrack = {
115
+ trackId: 1,
116
+ assetUrl: 'http://your_audio',
117
+ albumArt: 'http://some_image'
118
+ }
119
+ await Playlist.addItem({item})
120
+ ```
121
+
122
+ - TODO!
123
+
111
124
  ### Migrating from cordova-plugin-playlist
112
125
 
113
- See the Example RmxAudioPlayer.ts
126
+ See the use the shipped RmxAudioPlayer.ts
114
127
 
115
128
  Its a meant as a drop in replacement
116
129
 
117
130
  in the best case you only change your import. :D
118
131
 
119
- ### API
120
132
 
121
- - TODO!
122
133
  ## 5. Todo
123
- * [iOS] Write this plugin in Swift instead of Objective-C. I didn't have time to learn Swift when I needed this.
124
- * [iOS] Safely implement cover art for cover images displayed on the command/lock screen controls
125
134
  * [iOS] Utilize [AudioPlayer](https://github.com/delannoyk/AudioPlayer) instead of directly implementing AVQueuePlayer. `AudioPlayer` includes some smart network recovery features
126
135
  * [iOS, Android] Add a full example
127
136
 
@@ -0,0 +1 @@
1
+ /build
@@ -0,0 +1 @@
1
+ /build
@@ -107,9 +107,9 @@ class PlaylistPlugin : Plugin(), OnStatusReportListener {
107
107
 
108
108
  @PluginMethod
109
109
  fun removeItem(call: PluginCall) {
110
- val trackIndex: Int = call.getInt("trackIndex", -1)!!
111
- val trackId: String = call.getString("tracktrackId", "")!!
112
- Log.i(TAG,"removeItem")
110
+ val trackIndex: Int = call.getInt("index", -1)!!
111
+ val trackId: String = call.getString("id", "")!!
112
+ Log.i(TAG,"removeItem trackIn" )
113
113
  val item = audioPlayerImpl!!.playlistManager.removeItem(trackIndex, trackId)
114
114
 
115
115
  if (item != null) {
@@ -192,10 +192,10 @@ class PlaylistPlugin : Plugin(), OnStatusReportListener {
192
192
 
193
193
  @PluginMethod
194
194
  fun playTrackById(call: PluginCall) {
195
- val trackId: String = call.getString("id")!!
196
- if ("" != trackId) {
195
+ val id: String = call.getString("id")!!
196
+ if ("" != id) {
197
197
  // alternatively we could search for the item and set the current index to that item.
198
- val code = trackId.hashCode()
198
+ val code = id.hashCode()
199
199
  val seekPosition = (call.getInt("position", 0)!! * 1000.0).toLong()
200
200
  audioPlayerImpl!!.playlistManager.setCurrentItem(code.toLong())
201
201
  audioPlayerImpl!!.playlistManager.beginPlayback(seekPosition, false)
@@ -224,10 +224,10 @@ class PlaylistPlugin : Plugin(), OnStatusReportListener {
224
224
 
225
225
  @PluginMethod
226
226
  fun selectTrackById(call: PluginCall) {
227
- val trackId: String = call.getString("id")!!
228
- if ("" != trackId) {
227
+ val id: String = call.getString("id")!!
228
+ if ("" != id) {
229
229
  // alternatively we could search for the item and set the current index to that item.
230
- val code = trackId.hashCode()
230
+ val code = id.hashCode()
231
231
  audioPlayerImpl!!.playlistManager.setCurrentItem(code.toLong())
232
232
 
233
233
  val seekPosition = (call.getInt("position", 0)!! * 1000.0).toLong()
@@ -3,8 +3,7 @@ import { AudioPlayerEventHandler, AudioPlayerEventHandlers, AudioPlayerOptions,
3
3
  export declare class RmxAudioPlayer {
4
4
  handlers: AudioPlayerEventHandlers;
5
5
  options: AudioPlayerOptions;
6
- private _inititialized;
7
- private _initPromise;
6
+ private readonly _initPromise;
8
7
  private _readyResolve;
9
8
  private _readyReject;
10
9
  private _currentState;
@@ -17,10 +16,6 @@ export declare class RmxAudioPlayer {
17
16
  * or interrogate it.
18
17
  */
19
18
  get currentState(): "stopped" | "error" | "paused" | "loading" | "playing" | "unknown" | "ready";
20
- /**
21
- * True if the plugin has been initialized. You'll likely never see this state; it is handled internally.
22
- */
23
- get isInitialized(): boolean;
24
19
  get currentTrack(): AudioTrack | null;
25
20
  /**
26
21
  * If the playlist is currently playling a track.
@@ -60,7 +55,7 @@ export declare class RmxAudioPlayer {
60
55
  /**
61
56
  * Returns a promise that resolves when the plugin is ready.
62
57
  */
63
- ready: () => Promise<void> | undefined;
58
+ ready: () => Promise<void>;
64
59
  initialize: () => Promise<void>;
65
60
  /**
66
61
  * Sets the player options. This can be called at any time and is not required before playback can be initiated.
@@ -22,7 +22,6 @@ export class RmxAudioPlayer {
22
22
  constructor() {
23
23
  this.handlers = {};
24
24
  this.options = { verbose: false, resetStreamOnPause: true };
25
- this._inititialized = false;
26
25
  this._readyResolve = () => {
27
26
  };
28
27
  this._readyReject = () => {
@@ -41,10 +40,6 @@ export class RmxAudioPlayer {
41
40
  return this._initPromise;
42
41
  };
43
42
  this.initialize = async () => {
44
- this._initPromise = new Promise((resolve, reject) => {
45
- this._readyResolve = resolve;
46
- this._readyReject = reject;
47
- });
48
43
  Playlist.addListener('status', (data) => {
49
44
  if (data.action === 'status') {
50
45
  this.onStatus(data.status.trackId, data.status.msgType, data.status.value);
@@ -55,7 +50,6 @@ export class RmxAudioPlayer {
55
50
  });
56
51
  try {
57
52
  await Playlist.initialize();
58
- this._inititialized = true;
59
53
  this._readyResolve();
60
54
  }
61
55
  catch (args) {
@@ -63,7 +57,6 @@ export class RmxAudioPlayer {
63
57
  console.warn(message, args);
64
58
  this._readyReject();
65
59
  }
66
- return this._initPromise;
67
60
  };
68
61
  /**
69
62
  * Sets the player options. This can be called at any time and is not required before playback can be initiated.
@@ -209,6 +202,10 @@ export class RmxAudioPlayer {
209
202
  new Promise((resolve) => {
210
203
  window.addEventListener('beforeunload', () => resolve(), { once: true });
211
204
  }).then(() => Playlist.release());
205
+ this._initPromise = new Promise((resolve, reject) => {
206
+ this._readyResolve = resolve;
207
+ this._readyReject = reject;
208
+ });
212
209
  }
213
210
  /**
214
211
  * The current summarized state of the player, as a string. It is preferred that you use the 'isX' accessors,
@@ -218,12 +215,6 @@ export class RmxAudioPlayer {
218
215
  get currentState() {
219
216
  return this._currentState;
220
217
  }
221
- /**
222
- * True if the plugin has been initialized. You'll likely never see this state; it is handled internally.
223
- */
224
- get isInitialized() {
225
- return this._inititialized;
226
- }
227
218
  get currentTrack() {
228
219
  return this._currentItem;
229
220
  }
@@ -1 +1 @@
1
- {"version":3,"file":"RmxAudioPlayer.js","sourceRoot":"","sources":["../../src/RmxAudioPlayer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"RmxAudioPlayer.js","sourceRoot":"","sources":["../../src/RmxAudioPlayer.ts"],"names":[],"mappings":"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"}
package/dist/esm/web.d.ts CHANGED
@@ -1,4 +1,5 @@
1
1
  import { WebPlugin } from '@capacitor/core';
2
+ import { RmxAudioStatusMessage } from './Constants';
2
3
  import { AddAllItemOptions, AddItemOptions, PlayByIdOptions, PlayByIndexOptions, PlaylistOptions, PlaylistPlugin, RemoveItemOptions, RemoveItemsOptions, SeekToOptions, SelectByIdOptions, SelectByIndexOptions, SetLoopOptions, SetPlaybackRateOptions, SetPlaybackVolumeOptions } from './definitions';
3
4
  import { AudioPlayerOptions, AudioTrack } from './interfaces';
4
5
  export declare class PlaylistWeb extends WebPlugin implements PlaylistPlugin {
@@ -40,7 +41,7 @@ export declare class PlaylistWeb extends WebPlugin implements PlaylistPlugin {
40
41
  currentPosition: number;
41
42
  };
42
43
  protected setCurrent(item: AudioTrack, position?: number): Promise<void>;
43
- protected log(message?: any, ...optionalParams: any[]): void;
44
+ protected updateStatus(msgType: RmxAudioStatusMessage, value: any, trackId?: string): void;
44
45
  private hlsLoaded;
45
46
  protected loadHlsJs(): Promise<unknown>;
46
47
  }
package/dist/esm/web.js CHANGED
@@ -19,15 +19,18 @@ export class PlaylistWeb extends WebPlugin {
19
19
  const track = validateTrack(options.item);
20
20
  if (track) {
21
21
  this.playlistItems.push(track);
22
+ this.updateStatus(RmxAudioStatusMessage.RMXSTATUS_ITEM_ADDED, track, track.trackId);
22
23
  }
23
24
  return Promise.resolve();
24
25
  }
25
26
  async clearAllItems() {
26
27
  await this.release();
27
28
  this.playlistItems = [];
29
+ this.updateStatus(RmxAudioStatusMessage.RMXSTATUS_PLAYLIST_CLEARED, null, "INVALID");
28
30
  return Promise.resolve();
29
31
  }
30
32
  async initialize() {
33
+ this.updateStatus(RmxAudioStatusMessage.RMXSTATUS_INIT, null, "INVALID");
31
34
  return Promise.resolve();
32
35
  }
33
36
  async pause() {
@@ -36,24 +39,28 @@ export class PlaylistWeb extends WebPlugin {
36
39
  }
37
40
  async play() {
38
41
  var _a;
39
- return (_a = this.audio) === null || _a === void 0 ? void 0 : _a.play();
42
+ await ((_a = this.audio) === null || _a === void 0 ? void 0 : _a.play());
40
43
  }
41
- playTrackById(options) {
42
- this.playlistItems.forEach(async (item) => {
43
- if (item.trackId === options.id) {
44
- await this.setCurrent(item);
44
+ async playTrackById(options) {
45
+ for (let track of this.playlistItems) {
46
+ if (track.trackId === options.id) {
47
+ if (track !== this.currentTrack) {
48
+ await this.setCurrent(track);
49
+ }
45
50
  return this.play();
46
51
  }
47
- });
52
+ }
48
53
  return Promise.reject();
49
54
  }
50
- playTrackByIndex(options) {
51
- this.playlistItems.forEach(async (item, index) => {
55
+ async playTrackByIndex(options) {
56
+ for (let { index, item } of this.playlistItems.map((item, index) => ({ index, item }))) {
52
57
  if (index === options.index) {
53
- await this.setCurrent(item);
58
+ if (item !== this.currentTrack) {
59
+ await this.setCurrent(item);
60
+ }
54
61
  return this.play();
55
62
  }
56
- });
63
+ }
57
64
  return Promise.reject();
58
65
  }
59
66
  async release() {
@@ -64,17 +71,19 @@ export class PlaylistWeb extends WebPlugin {
64
71
  removeItem(options) {
65
72
  this.playlistItems.forEach((item, index) => {
66
73
  if (options.index && options.index === index) {
67
- this.playlistItems.splice(index, 1);
74
+ const removedTrack = this.playlistItems.splice(index, 1);
75
+ this.updateStatus(RmxAudioStatusMessage.RMXSTATUS_ITEM_REMOVED, removedTrack[0], removedTrack[0].trackId);
68
76
  }
69
77
  else if (options.id && options.id === item.trackId) {
70
- this.playlistItems.splice(index, 1);
78
+ const removedTrack = this.playlistItems.splice(index, 1);
79
+ this.updateStatus(RmxAudioStatusMessage.RMXSTATUS_ITEM_REMOVED, removedTrack[0], removedTrack[0].trackId);
71
80
  }
72
81
  });
73
82
  return Promise.resolve();
74
83
  }
75
84
  removeItems(options) {
76
- options.items.forEach((item) => {
77
- this.removeItem(item);
85
+ options.items.forEach(async (item) => {
86
+ await this.removeItem(item);
78
87
  });
79
88
  return Promise.resolve();
80
89
  }
@@ -126,7 +135,7 @@ export class PlaylistWeb extends WebPlugin {
126
135
  }
127
136
  return Promise.resolve();
128
137
  }
129
- skipForward() {
138
+ async skipForward() {
130
139
  let found = null;
131
140
  this.playlistItems.forEach((item, index) => {
132
141
  if (!found && this.getCurrentTrackId() === item.trackId) {
@@ -137,11 +146,15 @@ export class PlaylistWeb extends WebPlugin {
137
146
  found = -1;
138
147
  }
139
148
  if (found !== null) {
149
+ this.updateStatus(RmxAudioStatusMessage.RMX_STATUS_SKIP_BACK, {
150
+ currentIndex: found + 1,
151
+ currentItem: this.playlistItems[found + 1]
152
+ }, this.playlistItems[found + 1].trackId);
140
153
  return this.setCurrent(this.playlistItems[found + 1]);
141
154
  }
142
155
  return Promise.reject();
143
156
  }
144
- skipBack() {
157
+ async skipBack() {
145
158
  let found = null;
146
159
  this.playlistItems.forEach((item, index) => {
147
160
  if (!found && this.getCurrentTrackId() === item.trackId) {
@@ -152,8 +165,11 @@ export class PlaylistWeb extends WebPlugin {
152
165
  found = this.playlistItems.length - 1;
153
166
  }
154
167
  if (found !== null) {
155
- this.setCurrent(this.playlistItems[found - 1]);
156
- return Promise.resolve();
168
+ this.updateStatus(RmxAudioStatusMessage.RMX_STATUS_SKIP_BACK, {
169
+ currentIndex: found - 1,
170
+ currentItem: this.playlistItems[found - 1]
171
+ }, this.playlistItems[found - 1].trackId);
172
+ return this.setCurrent(this.playlistItems[found - 1]);
157
173
  }
158
174
  return Promise.reject();
159
175
  }
@@ -184,14 +200,7 @@ export class PlaylistWeb extends WebPlugin {
184
200
  registerHtmlListeners(position) {
185
201
  const canPlayListener = async () => {
186
202
  var _a;
187
- this.notifyListeners('status', {
188
- action: 'status',
189
- status: {
190
- msgType: RmxAudioStatusMessage.RMXSTATUS_CANPLAY,
191
- trackId: this.getCurrentTrackId(),
192
- value: this.getCurrentTrackStatus('loading'),
193
- }
194
- });
203
+ this.updateStatus(RmxAudioStatusMessage.RMXSTATUS_CANPLAY, this.getCurrentTrackStatus('paused'));
195
204
  if (position) {
196
205
  await this.seekTo({ position });
197
206
  }
@@ -200,57 +209,22 @@ export class PlaylistWeb extends WebPlugin {
200
209
  if (this.audio) {
201
210
  this.audio.addEventListener('canplay', canPlayListener);
202
211
  this.audio.addEventListener('playing', () => {
203
- this.notifyListeners('status', {
204
- action: 'status',
205
- status: {
206
- msgType: RmxAudioStatusMessage.RMXSTATUS_PLAYING,
207
- trackId: this.getCurrentTrackId(),
208
- value: this.getCurrentTrackStatus('playing'),
209
- }
210
- });
212
+ this.updateStatus(RmxAudioStatusMessage.RMXSTATUS_PLAYING, this.getCurrentTrackStatus('playing'));
211
213
  });
212
214
  this.audio.addEventListener('pause', () => {
213
- this.notifyListeners('status', {
214
- action: 'status',
215
- status: {
216
- msgType: RmxAudioStatusMessage.RMXSTATUS_PAUSE,
217
- trackId: this.getCurrentTrackId(),
218
- value: this.getCurrentTrackStatus('paused'),
219
- }
220
- });
215
+ this.updateStatus(RmxAudioStatusMessage.RMXSTATUS_PAUSE, this.getCurrentTrackStatus('paused'));
221
216
  });
222
217
  this.audio.addEventListener('error', () => {
223
- this.notifyListeners('status', {
224
- action: 'status',
225
- status: {
226
- msgType: RmxAudioStatusMessage.RMXSTATUS_ERROR,
227
- trackId: this.getCurrentTrackId(),
228
- value: this.getCurrentTrackStatus('error'),
229
- }
230
- });
218
+ this.updateStatus(RmxAudioStatusMessage.RMXSTATUS_ERROR, this.getCurrentTrackStatus('error'));
231
219
  });
232
220
  this.audio.addEventListener('ended', () => {
233
- this.notifyListeners('status', {
234
- action: 'status',
235
- status: {
236
- msgType: RmxAudioStatusMessage.RMXSTATUS_STOPPED,
237
- trackId: this.getCurrentTrackId(),
238
- value: this.getCurrentTrackStatus('stopped'),
239
- }
240
- });
221
+ this.updateStatus(RmxAudioStatusMessage.RMXSTATUS_STOPPED, this.getCurrentTrackStatus('stopped'));
241
222
  });
242
223
  let lastTrackId, lastPosition;
243
224
  this.audio.addEventListener('timeupdate', () => {
244
225
  const status = this.getCurrentTrackStatus(this.lastState);
245
226
  if (lastTrackId !== this.getCurrentTrackId() || lastPosition !== status.currentPosition) {
246
- this.notifyListeners('status', {
247
- action: 'status',
248
- status: {
249
- msgType: RmxAudioStatusMessage.RMXSTATUS_PLAYBACK_POSITION,
250
- trackId: this.getCurrentTrackId(),
251
- value: status,
252
- }
253
- });
227
+ this.updateStatus(RmxAudioStatusMessage.RMXSTATUS_PLAYBACK_POSITION, status);
254
228
  lastTrackId = this.getCurrentTrackId();
255
229
  lastPosition = status.currentPosition;
256
230
  }
@@ -317,28 +291,26 @@ export class PlaylistWeb extends WebPlugin {
317
291
  this.play();
318
292
  });
319
293
  }
294
+ this.updateStatus(RmxAudioStatusMessage.RMXSTATUS_TRACK_CHANGED, {
295
+ currentItem: item
296
+ });
297
+ }
298
+ updateStatus(msgType, value, trackId) {
320
299
  this.notifyListeners('status', {
321
300
  action: 'status',
322
301
  status: {
323
- msgType: RmxAudioStatusMessage.RMXSTATUS_TRACK_CHANGED,
324
- trackId: this.getCurrentTrackId(),
325
- value: {
326
- currentItem: item
327
- }
302
+ msgType: msgType,
303
+ trackId: trackId ? trackId : this.getCurrentTrackId(),
304
+ value: value
328
305
  }
329
306
  });
330
307
  }
331
- log(message, ...optionalParams) {
332
- if (this.options.verbose) {
333
- console.log(message, ...optionalParams);
334
- }
335
- }
336
308
  loadHlsJs() {
337
309
  if (this.hlsLoaded) {
338
310
  return Promise.resolve();
339
311
  }
340
312
  return new Promise((resolve, reject) => {
341
- var script = document.createElement('script');
313
+ const script = document.createElement('script');
342
314
  script.type = 'text/javascript';
343
315
  script.src = 'https://cdn.jsdelivr.net/npm/hls.js@1.1.1';
344
316
  document.getElementsByTagName('head')[0].appendChild(script);
@@ -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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"}