capacitor-plugin-playlist 0.1.20 → 0.1.24

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.
@@ -107,8 +107,8 @@ class PlaylistPlugin : Plugin(), OnStatusReportListener {
107
107
 
108
108
  @PluginMethod
109
109
  fun removeItem(call: PluginCall) {
110
- val trackIndex: Int = call.getInt("trackId", -1)!!
111
- val trackId: String = call.getString("trackIndex", "")!!
110
+ val trackIndex: Int = call.getInt("trackIndex", -1)!!
111
+ val trackId: String = call.getString("tracktrackId", "")!!
112
112
  Log.i(TAG,"removeItem")
113
113
  val item = audioPlayerImpl!!.playlistManager.removeItem(trackIndex, trackId)
114
114
 
@@ -226,7 +226,7 @@ public class RmxAudioPlayer implements PlaybackStatusListener<AudioTrack>,
226
226
 
227
227
  AudioTrack currentItem = playlistManager.getCurrentItem();
228
228
  JSONObject trackStatus = getPlayerStatus(currentItem);
229
- Log.i("AudioPlayerActiv/opsc", playbackState.toString() + ", " + trackStatus.toString() + ", " + currentItem);
229
+ Log.i("onPlaybackStateChanged", playbackState.toString() + ", " + trackStatus.toString() + ", " + currentItem);
230
230
 
231
231
  switch (playbackState) {
232
232
  case STOPPED:
@@ -56,6 +56,24 @@ class PlaylistManager(application: Application) :
56
56
  return true
57
57
  }
58
58
 
59
+ /*
60
+ * isNextAvailable, getCurrentItem, and next() are overridden because there is
61
+ * a glaring bug in playlist core where when an item completes, isNextAvailable and
62
+ * getCurrentItem return wildly contradictory things, resulting in endless repeat
63
+ * of the last item in the playlist.
64
+ */
65
+ override val isNextAvailable: Boolean
66
+ get() {
67
+ if (itemCount == 1) {
68
+ return false;
69
+ }
70
+ val isAtEnd = currentPosition + 1 >= itemCount
71
+ val isConstrained = currentPosition + 1 in 0 until itemCount
72
+ return if (isAtEnd) {
73
+ loop
74
+ } else isConstrained
75
+ }
76
+
59
77
  override operator fun next(): AudioTrack? {
60
78
  if (isNextAvailable) {
61
79
  val isAtEnd = currentPosition + 1 >= itemCount
package/dist/docs.json CHANGED
@@ -587,34 +587,16 @@
587
587
  "methods": [],
588
588
  "properties": [
589
589
  {
590
- "name": "item",
590
+ "name": "id",
591
591
  "tags": [],
592
592
  "docs": "",
593
- "complexTypes": [
594
- "AudioTrackRemoval"
595
- ],
596
- "type": "AudioTrackRemoval"
597
- }
598
- ]
599
- },
600
- {
601
- "name": "AudioTrackRemoval",
602
- "slug": "audiotrackremoval",
603
- "docs": "Encapsulates the fields you can pass to the plugin to remove a track.\nYou can either remove a track by its ID if you know it, or by index if you know it;\nIndex will be preferred if both index and ID are passed.",
604
- "tags": [],
605
- "methods": [],
606
- "properties": [
607
- {
608
- "name": "trackId",
609
- "tags": [],
610
- "docs": "The track ID to remove",
611
593
  "complexTypes": [],
612
594
  "type": "string | undefined"
613
595
  },
614
596
  {
615
- "name": "trackIndex",
597
+ "name": "index",
616
598
  "tags": [],
617
- "docs": "The index of a track to remove.",
599
+ "docs": "",
618
600
  "complexTypes": [],
619
601
  "type": "number | undefined"
620
602
  }
@@ -633,7 +615,7 @@
633
615
  "docs": "",
634
616
  "complexTypes": [
635
617
  "Array",
636
- "AudioTrackRemoval"
618
+ "RemoveItemOptions"
637
619
  ],
638
620
  "type": "any"
639
621
  }
@@ -674,7 +656,7 @@
674
656
  "tags": [],
675
657
  "docs": "",
676
658
  "complexTypes": [],
677
- "type": "number"
659
+ "type": "number | undefined"
678
660
  }
679
661
  ]
680
662
  },
@@ -697,7 +679,7 @@
697
679
  "tags": [],
698
680
  "docs": "",
699
681
  "complexTypes": [],
700
- "type": "number"
682
+ "type": "number | undefined"
701
683
  }
702
684
  ]
703
685
  },
@@ -720,7 +702,7 @@
720
702
  "tags": [],
721
703
  "docs": "",
722
704
  "complexTypes": [],
723
- "type": "number"
705
+ "type": "number | undefined"
724
706
  }
725
707
  ]
726
708
  },
@@ -743,7 +725,7 @@
743
725
  "tags": [],
744
726
  "docs": "",
745
727
  "complexTypes": [],
746
- "type": "number"
728
+ "type": "number | undefined"
747
729
  }
748
730
  ]
749
731
  },
@@ -1 +1 @@
1
- {"version":3,"file":"Constants.js","sourceRoot":"","sources":["../../src/Constants.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,CAAN,IAAY,iBAMX;AAND,WAAY,iBAAiB;IAC3B,qFAAsB,CAAA;IACtB,6EAAkB,CAAA;IAClB,6EAAkB,CAAA;IAClB,2EAAiB,CAAA;IACjB,2FAAyB,CAAA;AAC3B,CAAC,EANW,iBAAiB,KAAjB,iBAAiB,QAM5B;AAAA,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,6BAA6B,GAAG;IAC3C,mBAAmB;IACnB,SAAS;IACT,SAAS;IACT,kBAAkB;IAClB,sBAAsB;CACvB,CAAC;AAEF;;;GAGG;AACH,MAAM,CAAN,IAAY,qBAuHX;AAvHD,WAAY,qBAAqB;IAC/B;;;OAGG;IACH,qFAAkB,CAAA;IAClB;;;OAGG;IACH,6FAAsB,CAAA;IACtB;;OAEG;IACH,qFAAkB,CAAA;IAClB;;OAEG;IACH,uFAAmB,CAAA;IAEnB;;OAEG;IACH,4FAAsB,CAAA;IACtB;;OAEG;IACH,4FAAsB,CAAA;IACtB;;OAEG;IACH,0FAAqB,CAAA;IACrB;;OAEG;IACH,4FAAsB,CAAA;IACtB;;OAEG;IACH,gGAAwB,CAAA;IACxB;;OAEG;IACH,4FAAsB,CAAA;IACtB;;;;;OAKG;IACH,wFAAoB,CAAA;IACpB;;OAEG;IACH,gHAAgC,CAAA;IAChC;;;;OAIG;IACH,sFAAmB,CAAA;IACnB;;OAEG;IACH,gGAAwB,CAAA;IACxB;;;OAGG;IACH,8FAAuB,CAAA;IACvB;;OAEG;IACH,4FAAsB,CAAA;IAEtB;;;;;OAKG;IACH,wGAA4B,CAAA;IAC5B;;;;;OAKG;IACH,kGAAyB,CAAA;IACzB;;;;OAIG;IACH,yGAA6B,CAAA;IAC7B;;;OAGG;IACH,mHAAkC,CAAA;IAClC;;;OAGG;IACH,mGAA0B,CAAA;IAC1B;;;OAGG;IACH,uGAA4B,CAAA;IAC5B;;OAEG;IACH,+GAAgC,CAAA;IAEhC;;OAEG;IACH,yGAA6B,CAAA;AAC/B,CAAC,EAvHW,qBAAqB,KAArB,qBAAqB,QAuHhC;AAAA,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,iCAAiC,GAAG;IAC/C,CAAC,EAAE,WAAW;IACd,CAAC,EAAE,mBAAmB;IACtB,CAAC,EAAE,oBAAoB;IACvB,CAAC,EAAE,OAAO;IAEV,EAAE,EAAE,SAAS;IACb,EAAE,EAAE,SAAS;IACb,EAAE,EAAE,QAAQ;IACZ,EAAE,EAAE,SAAS;IACb,EAAE,EAAE,WAAW;IACf,EAAE,EAAE,SAAS;IACb,EAAE,EAAE,QAAQ;IACZ,EAAE,EAAE,2BAA2B;IAC/B,EAAE,EAAE,QAAQ;IACZ,EAAE,EAAE,oBAAoB;IACxB,EAAE,EAAE,kBAAkB;IACtB,EAAE,EAAE,SAAS;IAEb,EAAE,EAAE,cAAc;IAClB,EAAE,EAAE,eAAe;IACnB,GAAG,EAAE,eAAe;IACpB,GAAG,EAAE,oBAAoB;IACzB,GAAG,EAAE,aAAa;IAClB,GAAG,EAAE,eAAe;IACpB,GAAG,EAAE,kBAAkB;IAEvB,GAAG,EAAE,wBAAwB;CAC9B,CAAC"}
1
+ {"version":3,"file":"Constants.js","sourceRoot":"","sources":["../../src/Constants.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,CAAN,IAAY,iBAMX;AAND,WAAY,iBAAiB;IACzB,qFAAsB,CAAA;IACtB,6EAAkB,CAAA;IAClB,6EAAkB,CAAA;IAClB,2EAAiB,CAAA;IACjB,2FAAyB,CAAA;AAC7B,CAAC,EANW,iBAAiB,KAAjB,iBAAiB,QAM5B;AAAA,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,6BAA6B,GAAG;IACzC,mBAAmB;IACnB,SAAS;IACT,SAAS;IACT,kBAAkB;IAClB,sBAAsB;CACzB,CAAC;AAEF;;;GAGG;AACH,MAAM,CAAN,IAAY,qBAuHX;AAvHD,WAAY,qBAAqB;IAC7B;;;OAGG;IACH,qFAAkB,CAAA;IAClB;;;OAGG;IACH,6FAAsB,CAAA;IACtB;;OAEG;IACH,qFAAkB,CAAA;IAClB;;OAEG;IACH,uFAAmB,CAAA;IAEnB;;OAEG;IACH,4FAAsB,CAAA;IACtB;;OAEG;IACH,4FAAsB,CAAA;IACtB;;OAEG;IACH,0FAAqB,CAAA;IACrB;;OAEG;IACH,4FAAsB,CAAA;IACtB;;OAEG;IACH,gGAAwB,CAAA;IACxB;;OAEG;IACH,4FAAsB,CAAA;IACtB;;;;;OAKG;IACH,wFAAoB,CAAA;IACpB;;OAEG;IACH,gHAAgC,CAAA;IAChC;;;;OAIG;IACH,sFAAmB,CAAA;IACnB;;OAEG;IACH,gGAAwB,CAAA;IACxB;;;OAGG;IACH,8FAAuB,CAAA;IACvB;;OAEG;IACH,4FAAsB,CAAA;IAEtB;;;;;OAKG;IACH,wGAA4B,CAAA;IAC5B;;;;;OAKG;IACH,kGAAyB,CAAA;IACzB;;;;OAIG;IACH,yGAA6B,CAAA;IAC7B;;;OAGG;IACH,mHAAkC,CAAA;IAClC;;;OAGG;IACH,mGAA0B,CAAA;IAC1B;;;OAGG;IACH,uGAA4B,CAAA;IAC5B;;OAEG;IACH,+GAAgC,CAAA;IAEhC;;OAEG;IACH,yGAA6B,CAAA;AACjC,CAAC,EAvHW,qBAAqB,KAArB,qBAAqB,QAuHhC;AAAA,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,iCAAiC,GAAG;IAC7C,CAAC,EAAE,WAAW;IACd,CAAC,EAAE,mBAAmB;IACtB,CAAC,EAAE,oBAAoB;IACvB,CAAC,EAAE,OAAO;IAEV,EAAE,EAAE,SAAS;IACb,EAAE,EAAE,SAAS;IACb,EAAE,EAAE,QAAQ;IACZ,EAAE,EAAE,SAAS;IACb,EAAE,EAAE,WAAW;IACf,EAAE,EAAE,SAAS;IACb,EAAE,EAAE,QAAQ;IACZ,EAAE,EAAE,2BAA2B;IAC/B,EAAE,EAAE,QAAQ;IACZ,EAAE,EAAE,oBAAoB;IACxB,EAAE,EAAE,kBAAkB;IACtB,EAAE,EAAE,SAAS;IAEb,EAAE,EAAE,cAAc;IAClB,EAAE,EAAE,eAAe;IACnB,GAAG,EAAE,eAAe;IACpB,GAAG,EAAE,oBAAoB;IACzB,GAAG,EAAE,aAAa;IAClB,GAAG,EAAE,eAAe;IACpB,GAAG,EAAE,kBAAkB;IAEvB,GAAG,EAAE,wBAAwB;CAChC,CAAC"}
@@ -1,11 +1,5 @@
1
1
  import { RmxAudioStatusMessage } from './Constants';
2
- import { AudioPlayerEventHandler, AudioPlayerEventHandlers, AudioPlayerOptions, AudioTrack, AudioTrackRemoval, OnStatusCallback, PlaylistItemOptions, OnStatusCallbackUpdateData, OnStatusTrackChangedData, OnStatusErrorCallbackData } from './interfaces';
3
- /**
4
- * AudioPlayer class implementation. A singleton of this class is exported for use by Cordova,
5
- * but nothing stops you from creating another instance. Keep in mind that the native players
6
- * are in fact singletons, so the only thing the separate instance gives you would be
7
- * separate onStatus callback streams.
8
- */
2
+ import { AudioPlayerEventHandler, AudioPlayerEventHandlers, AudioPlayerOptions, AudioTrack, AudioTrackRemoval, OnStatusCallback, OnStatusCallbackUpdateData, OnStatusErrorCallbackData, OnStatusTrackChangedData, PlaylistItemOptions } from './interfaces';
9
3
  export declare class RmxAudioPlayer {
10
4
  handlers: AudioPlayerEventHandlers;
11
5
  options: AudioPlayerOptions;
@@ -66,8 +60,8 @@ export declare class RmxAudioPlayer {
66
60
  /**
67
61
  * Returns a promise that resolves when the plugin is ready.
68
62
  */
69
- ready: () => Promise<boolean>;
70
- initialize: () => Promise<boolean>;
63
+ ready: () => Promise<void>;
64
+ initialize: () => Promise<void>;
71
65
  /**
72
66
  * Sets the player options. This can be called at any time and is not required before playback can be initiated.
73
67
  */
@@ -175,7 +169,7 @@ export declare class RmxAudioPlayer {
175
169
  * @param eventName Name of event to subscribe to.
176
170
  * @param callback The callback function to receive the event data
177
171
  */
178
- on(eventName: "status", callback: OnStatusCallback): void;
172
+ on(eventName: 'status', callback: OnStatusCallback): void;
179
173
  /**
180
174
  * Remove an event handler from the plugin
181
175
  * @param eventName The name of the event whose subscription is to be removed
@@ -1,10 +1,9 @@
1
- import { RmxAudioStatusMessage, RmxAudioStatusMessageDescriptions, } from './Constants';
2
- import { validateTrack, validateTracks } from "./utils";
3
- import { Playlist } from "./plugin";
1
+ import { RmxAudioStatusMessage, RmxAudioStatusMessageDescriptions } from './Constants';
2
+ import { Playlist } from './plugin';
3
+ import { validateTrack, validateTracks } from './utils';
4
4
  /*!
5
5
  * Module dependencies.
6
6
  */
7
- const log = console;
8
7
  const itemStatusChangeTypes = [
9
8
  RmxAudioStatusMessage.RMXSTATUS_PLAYBACK_POSITION,
10
9
  RmxAudioStatusMessage.RMXSTATUS_DURATION,
@@ -16,12 +15,6 @@ const itemStatusChangeTypes = [
16
15
  RmxAudioStatusMessage.RMXSTATUS_COMPLETED,
17
16
  RmxAudioStatusMessage.RMXSTATUS_ERROR,
18
17
  ];
19
- /**
20
- * AudioPlayer class implementation. A singleton of this class is exported for use by Cordova,
21
- * but nothing stops you from creating another instance. Keep in mind that the native players
22
- * are in fact singletons, so the only thing the separate instance gives you would be
23
- * separate onStatus callback streams.
24
- */
25
18
  export class RmxAudioPlayer {
26
19
  /**
27
20
  * Creates a new RmxAudioPlayer instance.
@@ -30,6 +23,10 @@ export class RmxAudioPlayer {
30
23
  this.handlers = {};
31
24
  this.options = { verbose: false, resetStreamOnPause: true };
32
25
  this._inititialized = false;
26
+ this._readyResolve = () => {
27
+ };
28
+ this._readyReject = () => {
29
+ };
33
30
  this._currentState = 'unknown';
34
31
  this._hasError = false;
35
32
  this._hasLoaded = false;
@@ -43,7 +40,7 @@ export class RmxAudioPlayer {
43
40
  this.ready = () => {
44
41
  return this._initPromise;
45
42
  };
46
- this.initialize = () => {
43
+ this.initialize = async () => {
47
44
  Playlist.addListener('status', (data) => {
48
45
  if (data.action === 'status') {
49
46
  this.onStatus(data.status.trackId, data.status.msgType, data.status.value);
@@ -52,16 +49,16 @@ export class RmxAudioPlayer {
52
49
  console.warn('Unknown audio player onStatus message:', data);
53
50
  }
54
51
  });
55
- Playlist.initialize()
56
- .then(() => {
52
+ try {
53
+ await Playlist.initialize();
57
54
  this._inititialized = true;
58
- this._readyResolve(true);
59
- })
60
- .catch((args) => {
61
- const message = 'CORDOVA RMXAUDIOPLAYER: Error storing message channel:';
55
+ this._readyResolve();
56
+ }
57
+ catch (args) {
58
+ const message = 'Capacitor RMXAUDIOPLAYER: Error initializing:';
62
59
  console.warn(message, args);
63
- this._readyReject(true);
64
- });
60
+ this._readyReject();
61
+ }
65
62
  return this._initPromise;
66
63
  };
67
64
  /**
@@ -110,14 +107,14 @@ export class RmxAudioPlayer {
110
107
  if (!removeItem.trackId && !removeItem.trackIndex) {
111
108
  new Error('Track removal spec is invalid');
112
109
  }
113
- return Playlist.removeItem({ item: removeItem });
110
+ return Playlist.removeItem({ id: removeItem.trackId, index: removeItem.trackIndex });
114
111
  };
115
112
  /**
116
113
  * Removes all given tracks from the playlist; these can be specified either by trackId or trackIndex. If the removed items
117
114
  * include the currently playing item, the next available item will automatically begin playing.
118
115
  */
119
116
  this.removeItems = (items) => {
120
- return Playlist.removeItems({ items });
117
+ return Playlist.removeItems({ items: items });
121
118
  };
122
119
  /**
123
120
  * Clear the entire playlist. This will result in the STOPPED event being raised.
@@ -280,7 +277,7 @@ export class RmxAudioPlayer {
280
277
  var _a;
281
278
  const status = { type: type, trackId: trackId, value: value };
282
279
  if (this.options.verbose) {
283
- log.log(`RmxAudioPlayer.onStatus: ${RmxAudioStatusMessageDescriptions[type]}(${type}) [${trackId}]: `, value);
280
+ console.debug(`RmxAudioPlayer.onStatus: ${RmxAudioStatusMessageDescriptions[type]}(${type}) [${trackId}]: `, value);
284
281
  }
285
282
  if (status.type === RmxAudioStatusMessage.RMXSTATUS_TRACK_CHANGED) {
286
283
  this._hasError = false;
@@ -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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"}
@@ -1,5 +1,5 @@
1
- import { AudioPlayerOptions, AudioTrackRemoval, PlaylistItemOptions, AudioTrack, PlaylistStatusChangeCallback } from "./interfaces";
2
- import { PluginListenerHandle } from "@capacitor/core";
1
+ import { PluginListenerHandle } from '@capacitor/core';
2
+ import { AudioPlayerOptions, AudioTrack, PlaylistItemOptions, PlaylistStatusChangeCallback } from './interfaces';
3
3
  export interface PlaylistPlugin {
4
4
  /**
5
5
  * Listen for screen reader state change (on/off)
@@ -38,29 +38,30 @@ export interface AddAllItemOptions {
38
38
  items: Array<AudioTrack>;
39
39
  }
40
40
  export interface RemoveItemOptions {
41
- item: AudioTrackRemoval;
41
+ id?: string;
42
+ index?: number;
42
43
  }
43
44
  export interface RemoveItemsOptions {
44
- items: Array<AudioTrackRemoval>;
45
+ items: Array<RemoveItemOptions>;
45
46
  }
46
47
  export interface SeekToOptions {
47
48
  position: number;
48
49
  }
49
50
  export interface PlayByIndexOptions {
50
51
  index: number;
51
- position: number;
52
+ position?: number;
52
53
  }
53
54
  export interface PlayByIdOptions {
54
55
  id: string;
55
- position: number;
56
+ position?: number;
56
57
  }
57
58
  export interface SelectByIndexOptions {
58
59
  index: number;
59
- position: number;
60
+ position?: number;
60
61
  }
61
62
  export interface SelectByIdOptions {
62
63
  id: string;
63
- position: number;
64
+ position?: number;
64
65
  }
65
66
  export interface SetPlaybackVolumeOptions {
66
67
  volume: number;
@@ -1,2 +1 @@
1
- export {};
2
1
  //# sourceMappingURL=definitions.js.map
@@ -1,5 +1,5 @@
1
1
  export * from './definitions';
2
2
  export * from './interfaces';
3
3
  export * from './Constants';
4
- export * from './plugin';
5
4
  export * from './RmxAudioPlayer';
5
+ export * from './plugin';
package/dist/esm/index.js CHANGED
@@ -1,6 +1,4 @@
1
- export * from './definitions';
2
- export * from './interfaces';
3
1
  export * from './Constants';
4
- export * from './plugin';
5
2
  export * from './RmxAudioPlayer';
3
+ export * from './plugin';
6
4
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC;AAC9B,cAAc,cAAc,CAAA;AAC5B,cAAc,aAAa,CAAA;AAC3B,cAAc,UAAU,CAAA;AACxB,cAAc,kBAAkB,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAEA,cAAc,aAAa,CAAC;AAC5B,cAAc,kBAAkB,CAAC;AACjC,cAAc,UAAU,CAAC"}
@@ -1,2 +1 @@
1
- export {};
2
1
  //# sourceMappingURL=interfaces.js.map
@@ -1,4 +1,5 @@
1
1
  import { registerPlugin } from '@capacitor/core';
2
+ // todo: find out why we get imported twice
2
3
  let playListWebInstance;
3
4
  const Playlist = registerPlugin('Playlist', {
4
5
  web: () => import('./web').then(m => {
@@ -1 +1 @@
1
- {"version":3,"file":"plugin.js","sourceRoot":"","sources":["../../src/plugin.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAKjD,IAAI,mBAAmC,CAAC;AACxC,MAAM,QAAQ,GAAG,cAAc,CAAiB,UAAU,EAAE;IACxD,GAAG,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE;QAChC,IAAI,CAAC,mBAAmB,EAAE;YACtB,mBAAmB,GAAG,IAAI,CAAC,CAAC,WAAW,EAAE,CAAC;SAC7C;QACD,OAAO,mBAAmB,CAAC;IAC/B,CAAC,CAAC;CACL,CAAC,CAAC;AACH,OAAO,EAAE,QAAQ,EAAE,CAAC"}
1
+ {"version":3,"file":"plugin.js","sourceRoot":"","sources":["../../src/plugin.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,cAAc,EAAC,MAAM,iBAAiB,CAAC;AAI/C,2CAA2C;AAC3C,IAAI,mBAAmC,CAAC;AACxC,MAAM,QAAQ,GAAG,cAAc,CAAiB,UAAU,EAAE;IACxD,GAAG,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE;QAChC,IAAI,CAAC,mBAAmB,EAAE;YACtB,mBAAmB,GAAG,IAAI,CAAC,CAAC,WAAW,EAAE,CAAC;SAC7C;QACD,OAAO,mBAAmB,CAAC;IAC/B,CAAC,CAAC;CACL,CAAC,CAAC;AACH,OAAO,EAAC,QAAQ,EAAC,CAAC"}
@@ -1,4 +1,4 @@
1
- import { AudioTrack } from "./interfaces";
1
+ import { AudioTrack } from './interfaces';
2
2
  /**
3
3
  * Validates the list of AudioTrack items to ensure they are valid.
4
4
  * Used internally but you can call this if you need to :)
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/utils.ts"],"names":[],"mappings":"AAEA;;;;;GAKG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,KAAmB,EAAE,EAAE;IAClD,IAAI,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;QAAE,OAAO,EAAE,CAAC;KAAE;IACnD,OAAO,KAAK,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAiB,CAAC,CAAC,8BAA8B;AACpG,CAAC,CAAA;AAED;;;;;GAKG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,KAAiB,EAAE,EAAE;IAC/C,IAAI,CAAC,KAAK,EAAE;QAAE,OAAO,IAAI,CAAC;KAAE;IAC5B,uFAAuF;IACvF,sFAAsF;IACtF,KAAK,CAAC,OAAO,GAAG,KAAK,CAAC,OAAO,IAAI,YAAY,EAAE,CAAC;IAChD,OAAO,KAAK,CAAC;AACjB,CAAC,CAAA;AAED;;GAEG;AACH,MAAM,YAAY,GAAG,GAAG,EAAE;IACtB,IAAI,CAAC,GAAG,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,CAAC;IAC7B,IAAI,OAAO,WAAW,KAAK,WAAW,IAAI,OAAO,WAAW,CAAC,GAAG,KAAK,UAAU,EAAE;QAC7E,CAAC,IAAI,WAAW,CAAC,GAAG,EAAE,CAAC,CAAC,uCAAuC;KAClE;IACD,oFAAoF;IACpF,2BAA2B;IAC3B,MAAM,QAAQ,GAAG,sCAAsC,CAAC;IACxD,OAAkB,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAE,CAAC,GAAG,CAAC,UAAU,CAAC;QACtD,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,GAAG,EAAE;YAAE,OAAO,CAAC,CAAC;SAAE;QACzC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;QAC1C,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;QACvB,OAAO,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;IAC1D,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AAChB,CAAC,CAAA"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/utils.ts"],"names":[],"mappings":"AAEA;;;;;GAKG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,KAAmB,EAAE,EAAE;IAClD,IAAI,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;QACjC,OAAO,EAAE,CAAC;KACb;IACD,OAAO,KAAK,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAiB,CAAC,CAAC,8BAA8B;AACpG,CAAC,CAAC;AAEF;;;;;GAKG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,KAAiB,EAAE,EAAE;IAC/C,IAAI,CAAC,KAAK,EAAE;QACR,OAAO,IAAI,CAAC;KACf;IACD,uFAAuF;IACvF,sFAAsF;IACtF,KAAK,CAAC,OAAO,GAAG,KAAK,CAAC,OAAO,IAAI,YAAY,EAAE,CAAC;IAChD,OAAO,KAAK,CAAC;AACjB,CAAC,CAAC;AAEF;;GAEG;AACH,MAAM,YAAY,GAAG,GAAG,EAAE;IACtB,IAAI,CAAC,GAAG,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,CAAC;IAC7B,IAAI,OAAO,WAAW,KAAK,WAAW,IAAI,OAAO,WAAW,CAAC,GAAG,KAAK,UAAU,EAAE;QAC7E,CAAC,IAAI,WAAW,CAAC,GAAG,EAAE,CAAC,CAAC,uCAAuC;KAClE;IACD,oFAAoF;IACpF,2BAA2B;IAC3B,MAAM,QAAQ,GAAG,sCAAsC,CAAC;IACxD,OAAmB,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAE,CAAC,GAAG,CAAC,UAAS,CAAC;QACtD,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,GAAG,EAAE;YACxB,OAAO,CAAC,CAAC;SACZ;QACD,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;QAC1C,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;QACvB,OAAO,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;IAC1D,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AAChB,CAAC,CAAC"}
package/dist/esm/web.d.ts CHANGED
@@ -1,6 +1,6 @@
1
1
  import { WebPlugin } from '@capacitor/core';
2
- import { AddAllItemOptions, AddItemOptions, PlayByIdOptions, PlayByIndexOptions, PlaylistOptions, PlaylistPlugin, RemoveItemOptions, RemoveItemsOptions, SeekToOptions, SelectByIdOptions, SelectByIndexOptions, SetLoopOptions, SetPlaybackVolumeOptions, SetPlaybackRateOptions } from './definitions';
3
- import { AudioTrack, AudioPlayerOptions } from "./interfaces";
2
+ import { AddAllItemOptions, AddItemOptions, PlayByIdOptions, PlayByIndexOptions, PlaylistOptions, PlaylistPlugin, RemoveItemOptions, RemoveItemsOptions, SeekToOptions, SelectByIdOptions, SelectByIndexOptions, SetLoopOptions, SetPlaybackRateOptions, SetPlaybackVolumeOptions } from './definitions';
3
+ import { AudioPlayerOptions, AudioTrack } from './interfaces';
4
4
  export declare class PlaylistWeb extends WebPlugin implements PlaylistPlugin {
5
5
  protected audio: HTMLVideoElement | undefined;
6
6
  protected playlistItems: AudioTrack[];
@@ -37,7 +37,7 @@ export declare class PlaylistWeb extends WebPlugin implements PlaylistPlugin {
37
37
  isStream: boolean;
38
38
  currentIndex: number;
39
39
  status: string;
40
- currentPosition: number | undefined;
40
+ currentPosition: number;
41
41
  };
42
42
  protected setCurrent(item: AudioTrack, position?: number): Promise<void>;
43
43
  protected log(message?: any, ...optionalParams: any[]): void;
package/dist/esm/web.js CHANGED
@@ -1,6 +1,6 @@
1
1
  import { WebPlugin } from '@capacitor/core';
2
- import { validateTrack, validateTracks } from "./utils";
3
- import { RmxAudioStatusMessage } from "./Constants";
2
+ import { RmxAudioStatusMessage } from './Constants';
3
+ import { validateTrack, validateTracks } from './utils';
4
4
  export class PlaylistWeb extends WebPlugin {
5
5
  constructor() {
6
6
  super(...arguments);
@@ -8,7 +8,7 @@ export class PlaylistWeb extends WebPlugin {
8
8
  this.loop = false;
9
9
  this.options = {};
10
10
  this.currentTrack = null;
11
- this.lastState = "stopped";
11
+ this.lastState = 'stopped';
12
12
  this.hlsLoaded = false;
13
13
  }
14
14
  addAllItems(options) {
@@ -39,7 +39,6 @@ export class PlaylistWeb extends WebPlugin {
39
39
  return (_a = this.audio) === null || _a === void 0 ? void 0 : _a.play();
40
40
  }
41
41
  playTrackById(options) {
42
- console.log("da");
43
42
  this.playlistItems.forEach(async (item) => {
44
43
  if (item.trackId === options.id) {
45
44
  await this.setCurrent(item);
@@ -64,10 +63,10 @@ export class PlaylistWeb extends WebPlugin {
64
63
  }
65
64
  removeItem(options) {
66
65
  this.playlistItems.forEach((item, index) => {
67
- if (options.item.trackIndex && options.item.trackIndex === index) {
66
+ if (options.index && options.index === index) {
68
67
  this.playlistItems.splice(index, 1);
69
68
  }
70
- else if (options.item.trackId && options.item.trackId === item.trackId) {
69
+ else if (options.id && options.id === item.trackId) {
71
70
  this.playlistItems.splice(index, 1);
72
71
  }
73
72
  });
@@ -75,7 +74,7 @@ export class PlaylistWeb extends WebPlugin {
75
74
  }
76
75
  removeItems(options) {
77
76
  options.items.forEach((item) => {
78
- this.removeItem({ item });
77
+ this.removeItem(item);
79
78
  });
80
79
  return Promise.resolve();
81
80
  }
@@ -186,7 +185,7 @@ export class PlaylistWeb extends WebPlugin {
186
185
  const canPlayListener = async () => {
187
186
  var _a;
188
187
  this.notifyListeners('status', {
189
- action: "status",
188
+ action: 'status',
190
189
  status: {
191
190
  msgType: RmxAudioStatusMessage.RMXSTATUS_CANPLAY,
192
191
  trackId: this.getCurrentTrackId(),
@@ -202,7 +201,7 @@ export class PlaylistWeb extends WebPlugin {
202
201
  this.audio.addEventListener('canplay', canPlayListener);
203
202
  this.audio.addEventListener('playing', () => {
204
203
  this.notifyListeners('status', {
205
- action: "status",
204
+ action: 'status',
206
205
  status: {
207
206
  msgType: RmxAudioStatusMessage.RMXSTATUS_PLAYING,
208
207
  trackId: this.getCurrentTrackId(),
@@ -212,7 +211,7 @@ export class PlaylistWeb extends WebPlugin {
212
211
  });
213
212
  this.audio.addEventListener('pause', () => {
214
213
  this.notifyListeners('status', {
215
- action: "status",
214
+ action: 'status',
216
215
  status: {
217
216
  msgType: RmxAudioStatusMessage.RMXSTATUS_PAUSE,
218
217
  trackId: this.getCurrentTrackId(),
@@ -222,7 +221,7 @@ export class PlaylistWeb extends WebPlugin {
222
221
  });
223
222
  this.audio.addEventListener('error', () => {
224
223
  this.notifyListeners('status', {
225
- action: "status",
224
+ action: 'status',
226
225
  status: {
227
226
  msgType: RmxAudioStatusMessage.RMXSTATUS_ERROR,
228
227
  trackId: this.getCurrentTrackId(),
@@ -232,7 +231,7 @@ export class PlaylistWeb extends WebPlugin {
232
231
  });
233
232
  this.audio.addEventListener('ended', () => {
234
233
  this.notifyListeners('status', {
235
- action: "status",
234
+ action: 'status',
236
235
  status: {
237
236
  msgType: RmxAudioStatusMessage.RMXSTATUS_STOPPED,
238
237
  trackId: this.getCurrentTrackId(),
@@ -240,15 +239,21 @@ export class PlaylistWeb extends WebPlugin {
240
239
  }
241
240
  });
242
241
  });
242
+ let lastTrackId, lastPosition;
243
243
  this.audio.addEventListener('timeupdate', () => {
244
- this.notifyListeners('status', {
245
- action: "status",
246
- status: {
247
- msgType: RmxAudioStatusMessage.RMXSTATUS_PLAYBACK_POSITION,
248
- trackId: this.getCurrentTrackId(),
249
- value: this.getCurrentTrackStatus(this.lastState),
250
- }
251
- });
244
+ const status = this.getCurrentTrackStatus(this.lastState);
245
+ 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
+ });
254
+ lastTrackId = this.getCurrentTrackId();
255
+ lastPosition = status.currentPosition;
256
+ }
252
257
  });
253
258
  }
254
259
  }
@@ -256,7 +261,7 @@ export class PlaylistWeb extends WebPlugin {
256
261
  if (this.currentTrack) {
257
262
  return this.currentTrack.trackId;
258
263
  }
259
- return "INVALID";
264
+ return 'INVALID';
260
265
  }
261
266
  getCurrentIndex() {
262
267
  if (this.currentTrack) {
@@ -276,7 +281,7 @@ export class PlaylistWeb extends WebPlugin {
276
281
  isStream: !!((_a = this.currentTrack) === null || _a === void 0 ? void 0 : _a.isStream),
277
282
  currentIndex: this.getCurrentIndex(),
278
283
  status: currentState,
279
- currentPosition: (_b = this.audio) === null || _b === void 0 ? void 0 : _b.currentTime,
284
+ currentPosition: ((_b = this.audio) === null || _b === void 0 ? void 0 : _b.currentTime) || 0,
280
285
  };
281
286
  }
282
287
  async setCurrent(item, position) {
@@ -284,7 +289,7 @@ export class PlaylistWeb extends WebPlugin {
284
289
  if (this.audio) {
285
290
  wasPlaying = !this.audio.paused;
286
291
  this.audio.pause();
287
- this.audio.src = "";
292
+ this.audio.src = '';
288
293
  this.audio.removeAttribute('src');
289
294
  this.audio.load();
290
295
  }
@@ -312,8 +317,8 @@ export class PlaylistWeb extends WebPlugin {
312
317
  this.play();
313
318
  });
314
319
  }
315
- this.notifyListeners("status", {
316
- action: "status",
320
+ this.notifyListeners('status', {
321
+ action: 'status',
317
322
  status: {
318
323
  msgType: RmxAudioStatusMessage.RMXSTATUS_TRACK_CHANGED,
319
324
  trackId: this.getCurrentTrackId(),
@@ -335,11 +340,11 @@ export class PlaylistWeb extends WebPlugin {
335
340
  return new Promise((resolve, reject) => {
336
341
  var script = document.createElement('script');
337
342
  script.type = 'text/javascript';
338
- script.src = 'https://cdn.jsdelivr.net/npm/hls.js@0.9.1';
343
+ script.src = 'https://cdn.jsdelivr.net/npm/hls.js@1.1.1';
339
344
  document.getElementsByTagName('head')[0].appendChild(script);
340
345
  script.onload = () => {
341
346
  this.hlsLoaded = true;
342
- resolve();
347
+ resolve(void 0);
343
348
  };
344
349
  script.onerror = () => {
345
350
  reject();