capacitor-plugin-playlist 0.1.26 → 0.1.30
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 +18 -9
- package/android/.gitignore +1 -0
- package/android/.npmignore +1 -0
- package/android/src/main/java/org/dwbn/plugins/playlist/PlaylistPlugin.kt +6 -6
- package/android/src/main/java/org/dwbn/plugins/playlist/manager/PlaylistManager.kt +1 -1
- package/dist/esm/web.d.ts +2 -1
- package/dist/esm/web.js +54 -78
- package/dist/esm/web.js.map +1 -1
- package/dist/plugin.cjs.js +54 -78
- package/dist/plugin.cjs.js.map +1 -1
- package/dist/plugin.js +54 -78
- package/dist/plugin.js.map +1 -1
- package/package.json +1 -1
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
|
|
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
|
|
@@ -192,10 +192,10 @@ class PlaylistPlugin : Plugin(), OnStatusReportListener {
|
|
|
192
192
|
|
|
193
193
|
@PluginMethod
|
|
194
194
|
fun playTrackById(call: PluginCall) {
|
|
195
|
-
val
|
|
196
|
-
if ("" !=
|
|
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 =
|
|
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
|
|
228
|
-
if ("" !=
|
|
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 =
|
|
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()
|
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
|
|
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
|
-
|
|
42
|
+
await ((_a = this.audio) === null || _a === void 0 ? void 0 : _a.play());
|
|
40
43
|
}
|
|
41
|
-
playTrackById(options) {
|
|
42
|
-
this.playlistItems
|
|
43
|
-
if (
|
|
44
|
-
|
|
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.
|
|
55
|
+
async playTrackByIndex(options) {
|
|
56
|
+
for (let { index, item } of this.playlistItems.map((item, index) => ({ index, item }))) {
|
|
52
57
|
if (index === options.index) {
|
|
53
|
-
|
|
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
|
}
|
|
@@ -122,11 +131,15 @@ export class PlaylistWeb extends WebPlugin {
|
|
|
122
131
|
var _a;
|
|
123
132
|
this.playlistItems = options.items;
|
|
124
133
|
if (this.playlistItems.length > 0) {
|
|
125
|
-
|
|
134
|
+
let currentItem = this.playlistItems.filter(i => { var _a; return i.trackId === ((_a = options.options) === null || _a === void 0 ? void 0 : _a.playFromId); })[0];
|
|
135
|
+
if (!currentItem) {
|
|
136
|
+
currentItem = this.playlistItems[0];
|
|
137
|
+
}
|
|
138
|
+
return this.setCurrent(currentItem, ((_a = options.options) === null || _a === void 0 ? void 0 : _a.playFromPosition) || 0);
|
|
126
139
|
}
|
|
127
140
|
return Promise.resolve();
|
|
128
141
|
}
|
|
129
|
-
skipForward() {
|
|
142
|
+
async skipForward() {
|
|
130
143
|
let found = null;
|
|
131
144
|
this.playlistItems.forEach((item, index) => {
|
|
132
145
|
if (!found && this.getCurrentTrackId() === item.trackId) {
|
|
@@ -137,11 +150,15 @@ export class PlaylistWeb extends WebPlugin {
|
|
|
137
150
|
found = -1;
|
|
138
151
|
}
|
|
139
152
|
if (found !== null) {
|
|
153
|
+
this.updateStatus(RmxAudioStatusMessage.RMX_STATUS_SKIP_BACK, {
|
|
154
|
+
currentIndex: found + 1,
|
|
155
|
+
currentItem: this.playlistItems[found + 1]
|
|
156
|
+
}, this.playlistItems[found + 1].trackId);
|
|
140
157
|
return this.setCurrent(this.playlistItems[found + 1]);
|
|
141
158
|
}
|
|
142
159
|
return Promise.reject();
|
|
143
160
|
}
|
|
144
|
-
skipBack() {
|
|
161
|
+
async skipBack() {
|
|
145
162
|
let found = null;
|
|
146
163
|
this.playlistItems.forEach((item, index) => {
|
|
147
164
|
if (!found && this.getCurrentTrackId() === item.trackId) {
|
|
@@ -152,8 +169,11 @@ export class PlaylistWeb extends WebPlugin {
|
|
|
152
169
|
found = this.playlistItems.length - 1;
|
|
153
170
|
}
|
|
154
171
|
if (found !== null) {
|
|
155
|
-
this.
|
|
156
|
-
|
|
172
|
+
this.updateStatus(RmxAudioStatusMessage.RMX_STATUS_SKIP_BACK, {
|
|
173
|
+
currentIndex: found - 1,
|
|
174
|
+
currentItem: this.playlistItems[found - 1]
|
|
175
|
+
}, this.playlistItems[found - 1].trackId);
|
|
176
|
+
return this.setCurrent(this.playlistItems[found - 1]);
|
|
157
177
|
}
|
|
158
178
|
return Promise.reject();
|
|
159
179
|
}
|
|
@@ -184,14 +204,7 @@ export class PlaylistWeb extends WebPlugin {
|
|
|
184
204
|
registerHtmlListeners(position) {
|
|
185
205
|
const canPlayListener = async () => {
|
|
186
206
|
var _a;
|
|
187
|
-
this.
|
|
188
|
-
action: 'status',
|
|
189
|
-
status: {
|
|
190
|
-
msgType: RmxAudioStatusMessage.RMXSTATUS_CANPLAY,
|
|
191
|
-
trackId: this.getCurrentTrackId(),
|
|
192
|
-
value: this.getCurrentTrackStatus('loading'),
|
|
193
|
-
}
|
|
194
|
-
});
|
|
207
|
+
this.updateStatus(RmxAudioStatusMessage.RMXSTATUS_CANPLAY, this.getCurrentTrackStatus('paused'));
|
|
195
208
|
if (position) {
|
|
196
209
|
await this.seekTo({ position });
|
|
197
210
|
}
|
|
@@ -200,57 +213,22 @@ export class PlaylistWeb extends WebPlugin {
|
|
|
200
213
|
if (this.audio) {
|
|
201
214
|
this.audio.addEventListener('canplay', canPlayListener);
|
|
202
215
|
this.audio.addEventListener('playing', () => {
|
|
203
|
-
this.
|
|
204
|
-
action: 'status',
|
|
205
|
-
status: {
|
|
206
|
-
msgType: RmxAudioStatusMessage.RMXSTATUS_PLAYING,
|
|
207
|
-
trackId: this.getCurrentTrackId(),
|
|
208
|
-
value: this.getCurrentTrackStatus('playing'),
|
|
209
|
-
}
|
|
210
|
-
});
|
|
216
|
+
this.updateStatus(RmxAudioStatusMessage.RMXSTATUS_PLAYING, this.getCurrentTrackStatus('playing'));
|
|
211
217
|
});
|
|
212
218
|
this.audio.addEventListener('pause', () => {
|
|
213
|
-
this.
|
|
214
|
-
action: 'status',
|
|
215
|
-
status: {
|
|
216
|
-
msgType: RmxAudioStatusMessage.RMXSTATUS_PAUSE,
|
|
217
|
-
trackId: this.getCurrentTrackId(),
|
|
218
|
-
value: this.getCurrentTrackStatus('paused'),
|
|
219
|
-
}
|
|
220
|
-
});
|
|
219
|
+
this.updateStatus(RmxAudioStatusMessage.RMXSTATUS_PAUSE, this.getCurrentTrackStatus('paused'));
|
|
221
220
|
});
|
|
222
221
|
this.audio.addEventListener('error', () => {
|
|
223
|
-
this.
|
|
224
|
-
action: 'status',
|
|
225
|
-
status: {
|
|
226
|
-
msgType: RmxAudioStatusMessage.RMXSTATUS_ERROR,
|
|
227
|
-
trackId: this.getCurrentTrackId(),
|
|
228
|
-
value: this.getCurrentTrackStatus('error'),
|
|
229
|
-
}
|
|
230
|
-
});
|
|
222
|
+
this.updateStatus(RmxAudioStatusMessage.RMXSTATUS_ERROR, this.getCurrentTrackStatus('error'));
|
|
231
223
|
});
|
|
232
224
|
this.audio.addEventListener('ended', () => {
|
|
233
|
-
this.
|
|
234
|
-
action: 'status',
|
|
235
|
-
status: {
|
|
236
|
-
msgType: RmxAudioStatusMessage.RMXSTATUS_STOPPED,
|
|
237
|
-
trackId: this.getCurrentTrackId(),
|
|
238
|
-
value: this.getCurrentTrackStatus('stopped'),
|
|
239
|
-
}
|
|
240
|
-
});
|
|
225
|
+
this.updateStatus(RmxAudioStatusMessage.RMXSTATUS_STOPPED, this.getCurrentTrackStatus('stopped'));
|
|
241
226
|
});
|
|
242
227
|
let lastTrackId, lastPosition;
|
|
243
228
|
this.audio.addEventListener('timeupdate', () => {
|
|
244
229
|
const status = this.getCurrentTrackStatus(this.lastState);
|
|
245
230
|
if (lastTrackId !== this.getCurrentTrackId() || lastPosition !== status.currentPosition) {
|
|
246
|
-
this.
|
|
247
|
-
action: 'status',
|
|
248
|
-
status: {
|
|
249
|
-
msgType: RmxAudioStatusMessage.RMXSTATUS_PLAYBACK_POSITION,
|
|
250
|
-
trackId: this.getCurrentTrackId(),
|
|
251
|
-
value: status,
|
|
252
|
-
}
|
|
253
|
-
});
|
|
231
|
+
this.updateStatus(RmxAudioStatusMessage.RMXSTATUS_PLAYBACK_POSITION, status);
|
|
254
232
|
lastTrackId = this.getCurrentTrackId();
|
|
255
233
|
lastPosition = status.currentPosition;
|
|
256
234
|
}
|
|
@@ -317,28 +295,26 @@ export class PlaylistWeb extends WebPlugin {
|
|
|
317
295
|
this.play();
|
|
318
296
|
});
|
|
319
297
|
}
|
|
298
|
+
this.updateStatus(RmxAudioStatusMessage.RMXSTATUS_TRACK_CHANGED, {
|
|
299
|
+
currentItem: item
|
|
300
|
+
});
|
|
301
|
+
}
|
|
302
|
+
updateStatus(msgType, value, trackId) {
|
|
320
303
|
this.notifyListeners('status', {
|
|
321
304
|
action: 'status',
|
|
322
305
|
status: {
|
|
323
|
-
msgType:
|
|
324
|
-
trackId: this.getCurrentTrackId(),
|
|
325
|
-
value:
|
|
326
|
-
currentItem: item
|
|
327
|
-
}
|
|
306
|
+
msgType: msgType,
|
|
307
|
+
trackId: trackId ? trackId : this.getCurrentTrackId(),
|
|
308
|
+
value: value
|
|
328
309
|
}
|
|
329
310
|
});
|
|
330
311
|
}
|
|
331
|
-
log(message, ...optionalParams) {
|
|
332
|
-
if (this.options.verbose) {
|
|
333
|
-
console.log(message, ...optionalParams);
|
|
334
|
-
}
|
|
335
|
-
}
|
|
336
312
|
loadHlsJs() {
|
|
337
313
|
if (this.hlsLoaded) {
|
|
338
314
|
return Promise.resolve();
|
|
339
315
|
}
|
|
340
316
|
return new Promise((resolve, reject) => {
|
|
341
|
-
|
|
317
|
+
const script = document.createElement('script');
|
|
342
318
|
script.type = 'text/javascript';
|
|
343
319
|
script.src = 'https://cdn.jsdelivr.net/npm/hls.js@1.1.1';
|
|
344
320
|
document.getElementsByTagName('head')[0].appendChild(script);
|
package/dist/esm/web.js.map
CHANGED
|
@@ -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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"}
|
package/dist/plugin.cjs.js
CHANGED
|
@@ -585,15 +585,18 @@ class PlaylistWeb extends core.WebPlugin {
|
|
|
585
585
|
const track = validateTrack(options.item);
|
|
586
586
|
if (track) {
|
|
587
587
|
this.playlistItems.push(track);
|
|
588
|
+
this.updateStatus(exports.RmxAudioStatusMessage.RMXSTATUS_ITEM_ADDED, track, track.trackId);
|
|
588
589
|
}
|
|
589
590
|
return Promise.resolve();
|
|
590
591
|
}
|
|
591
592
|
async clearAllItems() {
|
|
592
593
|
await this.release();
|
|
593
594
|
this.playlistItems = [];
|
|
595
|
+
this.updateStatus(exports.RmxAudioStatusMessage.RMXSTATUS_PLAYLIST_CLEARED, null, "INVALID");
|
|
594
596
|
return Promise.resolve();
|
|
595
597
|
}
|
|
596
598
|
async initialize() {
|
|
599
|
+
this.updateStatus(exports.RmxAudioStatusMessage.RMXSTATUS_INIT, null, "INVALID");
|
|
597
600
|
return Promise.resolve();
|
|
598
601
|
}
|
|
599
602
|
async pause() {
|
|
@@ -602,24 +605,28 @@ class PlaylistWeb extends core.WebPlugin {
|
|
|
602
605
|
}
|
|
603
606
|
async play() {
|
|
604
607
|
var _a;
|
|
605
|
-
|
|
608
|
+
await ((_a = this.audio) === null || _a === void 0 ? void 0 : _a.play());
|
|
606
609
|
}
|
|
607
|
-
playTrackById(options) {
|
|
608
|
-
this.playlistItems
|
|
609
|
-
if (
|
|
610
|
-
|
|
610
|
+
async playTrackById(options) {
|
|
611
|
+
for (let track of this.playlistItems) {
|
|
612
|
+
if (track.trackId === options.id) {
|
|
613
|
+
if (track !== this.currentTrack) {
|
|
614
|
+
await this.setCurrent(track);
|
|
615
|
+
}
|
|
611
616
|
return this.play();
|
|
612
617
|
}
|
|
613
|
-
}
|
|
618
|
+
}
|
|
614
619
|
return Promise.reject();
|
|
615
620
|
}
|
|
616
|
-
playTrackByIndex(options) {
|
|
617
|
-
this.playlistItems.
|
|
621
|
+
async playTrackByIndex(options) {
|
|
622
|
+
for (let { index, item } of this.playlistItems.map((item, index) => ({ index, item }))) {
|
|
618
623
|
if (index === options.index) {
|
|
619
|
-
|
|
624
|
+
if (item !== this.currentTrack) {
|
|
625
|
+
await this.setCurrent(item);
|
|
626
|
+
}
|
|
620
627
|
return this.play();
|
|
621
628
|
}
|
|
622
|
-
}
|
|
629
|
+
}
|
|
623
630
|
return Promise.reject();
|
|
624
631
|
}
|
|
625
632
|
async release() {
|
|
@@ -630,17 +637,19 @@ class PlaylistWeb extends core.WebPlugin {
|
|
|
630
637
|
removeItem(options) {
|
|
631
638
|
this.playlistItems.forEach((item, index) => {
|
|
632
639
|
if (options.index && options.index === index) {
|
|
633
|
-
this.playlistItems.splice(index, 1);
|
|
640
|
+
const removedTrack = this.playlistItems.splice(index, 1);
|
|
641
|
+
this.updateStatus(exports.RmxAudioStatusMessage.RMXSTATUS_ITEM_REMOVED, removedTrack[0], removedTrack[0].trackId);
|
|
634
642
|
}
|
|
635
643
|
else if (options.id && options.id === item.trackId) {
|
|
636
|
-
this.playlistItems.splice(index, 1);
|
|
644
|
+
const removedTrack = this.playlistItems.splice(index, 1);
|
|
645
|
+
this.updateStatus(exports.RmxAudioStatusMessage.RMXSTATUS_ITEM_REMOVED, removedTrack[0], removedTrack[0].trackId);
|
|
637
646
|
}
|
|
638
647
|
});
|
|
639
648
|
return Promise.resolve();
|
|
640
649
|
}
|
|
641
650
|
removeItems(options) {
|
|
642
|
-
options.items.forEach((item) => {
|
|
643
|
-
this.removeItem(item);
|
|
651
|
+
options.items.forEach(async (item) => {
|
|
652
|
+
await this.removeItem(item);
|
|
644
653
|
});
|
|
645
654
|
return Promise.resolve();
|
|
646
655
|
}
|
|
@@ -688,11 +697,15 @@ class PlaylistWeb extends core.WebPlugin {
|
|
|
688
697
|
var _a;
|
|
689
698
|
this.playlistItems = options.items;
|
|
690
699
|
if (this.playlistItems.length > 0) {
|
|
691
|
-
|
|
700
|
+
let currentItem = this.playlistItems.filter(i => { var _a; return i.trackId === ((_a = options.options) === null || _a === void 0 ? void 0 : _a.playFromId); })[0];
|
|
701
|
+
if (!currentItem) {
|
|
702
|
+
currentItem = this.playlistItems[0];
|
|
703
|
+
}
|
|
704
|
+
return this.setCurrent(currentItem, ((_a = options.options) === null || _a === void 0 ? void 0 : _a.playFromPosition) || 0);
|
|
692
705
|
}
|
|
693
706
|
return Promise.resolve();
|
|
694
707
|
}
|
|
695
|
-
skipForward() {
|
|
708
|
+
async skipForward() {
|
|
696
709
|
let found = null;
|
|
697
710
|
this.playlistItems.forEach((item, index) => {
|
|
698
711
|
if (!found && this.getCurrentTrackId() === item.trackId) {
|
|
@@ -703,11 +716,15 @@ class PlaylistWeb extends core.WebPlugin {
|
|
|
703
716
|
found = -1;
|
|
704
717
|
}
|
|
705
718
|
if (found !== null) {
|
|
719
|
+
this.updateStatus(exports.RmxAudioStatusMessage.RMX_STATUS_SKIP_BACK, {
|
|
720
|
+
currentIndex: found + 1,
|
|
721
|
+
currentItem: this.playlistItems[found + 1]
|
|
722
|
+
}, this.playlistItems[found + 1].trackId);
|
|
706
723
|
return this.setCurrent(this.playlistItems[found + 1]);
|
|
707
724
|
}
|
|
708
725
|
return Promise.reject();
|
|
709
726
|
}
|
|
710
|
-
skipBack() {
|
|
727
|
+
async skipBack() {
|
|
711
728
|
let found = null;
|
|
712
729
|
this.playlistItems.forEach((item, index) => {
|
|
713
730
|
if (!found && this.getCurrentTrackId() === item.trackId) {
|
|
@@ -718,8 +735,11 @@ class PlaylistWeb extends core.WebPlugin {
|
|
|
718
735
|
found = this.playlistItems.length - 1;
|
|
719
736
|
}
|
|
720
737
|
if (found !== null) {
|
|
721
|
-
this.
|
|
722
|
-
|
|
738
|
+
this.updateStatus(exports.RmxAudioStatusMessage.RMX_STATUS_SKIP_BACK, {
|
|
739
|
+
currentIndex: found - 1,
|
|
740
|
+
currentItem: this.playlistItems[found - 1]
|
|
741
|
+
}, this.playlistItems[found - 1].trackId);
|
|
742
|
+
return this.setCurrent(this.playlistItems[found - 1]);
|
|
723
743
|
}
|
|
724
744
|
return Promise.reject();
|
|
725
745
|
}
|
|
@@ -750,14 +770,7 @@ class PlaylistWeb extends core.WebPlugin {
|
|
|
750
770
|
registerHtmlListeners(position) {
|
|
751
771
|
const canPlayListener = async () => {
|
|
752
772
|
var _a;
|
|
753
|
-
this.
|
|
754
|
-
action: 'status',
|
|
755
|
-
status: {
|
|
756
|
-
msgType: exports.RmxAudioStatusMessage.RMXSTATUS_CANPLAY,
|
|
757
|
-
trackId: this.getCurrentTrackId(),
|
|
758
|
-
value: this.getCurrentTrackStatus('loading'),
|
|
759
|
-
}
|
|
760
|
-
});
|
|
773
|
+
this.updateStatus(exports.RmxAudioStatusMessage.RMXSTATUS_CANPLAY, this.getCurrentTrackStatus('paused'));
|
|
761
774
|
if (position) {
|
|
762
775
|
await this.seekTo({ position });
|
|
763
776
|
}
|
|
@@ -766,57 +779,22 @@ class PlaylistWeb extends core.WebPlugin {
|
|
|
766
779
|
if (this.audio) {
|
|
767
780
|
this.audio.addEventListener('canplay', canPlayListener);
|
|
768
781
|
this.audio.addEventListener('playing', () => {
|
|
769
|
-
this.
|
|
770
|
-
action: 'status',
|
|
771
|
-
status: {
|
|
772
|
-
msgType: exports.RmxAudioStatusMessage.RMXSTATUS_PLAYING,
|
|
773
|
-
trackId: this.getCurrentTrackId(),
|
|
774
|
-
value: this.getCurrentTrackStatus('playing'),
|
|
775
|
-
}
|
|
776
|
-
});
|
|
782
|
+
this.updateStatus(exports.RmxAudioStatusMessage.RMXSTATUS_PLAYING, this.getCurrentTrackStatus('playing'));
|
|
777
783
|
});
|
|
778
784
|
this.audio.addEventListener('pause', () => {
|
|
779
|
-
this.
|
|
780
|
-
action: 'status',
|
|
781
|
-
status: {
|
|
782
|
-
msgType: exports.RmxAudioStatusMessage.RMXSTATUS_PAUSE,
|
|
783
|
-
trackId: this.getCurrentTrackId(),
|
|
784
|
-
value: this.getCurrentTrackStatus('paused'),
|
|
785
|
-
}
|
|
786
|
-
});
|
|
785
|
+
this.updateStatus(exports.RmxAudioStatusMessage.RMXSTATUS_PAUSE, this.getCurrentTrackStatus('paused'));
|
|
787
786
|
});
|
|
788
787
|
this.audio.addEventListener('error', () => {
|
|
789
|
-
this.
|
|
790
|
-
action: 'status',
|
|
791
|
-
status: {
|
|
792
|
-
msgType: exports.RmxAudioStatusMessage.RMXSTATUS_ERROR,
|
|
793
|
-
trackId: this.getCurrentTrackId(),
|
|
794
|
-
value: this.getCurrentTrackStatus('error'),
|
|
795
|
-
}
|
|
796
|
-
});
|
|
788
|
+
this.updateStatus(exports.RmxAudioStatusMessage.RMXSTATUS_ERROR, this.getCurrentTrackStatus('error'));
|
|
797
789
|
});
|
|
798
790
|
this.audio.addEventListener('ended', () => {
|
|
799
|
-
this.
|
|
800
|
-
action: 'status',
|
|
801
|
-
status: {
|
|
802
|
-
msgType: exports.RmxAudioStatusMessage.RMXSTATUS_STOPPED,
|
|
803
|
-
trackId: this.getCurrentTrackId(),
|
|
804
|
-
value: this.getCurrentTrackStatus('stopped'),
|
|
805
|
-
}
|
|
806
|
-
});
|
|
791
|
+
this.updateStatus(exports.RmxAudioStatusMessage.RMXSTATUS_STOPPED, this.getCurrentTrackStatus('stopped'));
|
|
807
792
|
});
|
|
808
793
|
let lastTrackId, lastPosition;
|
|
809
794
|
this.audio.addEventListener('timeupdate', () => {
|
|
810
795
|
const status = this.getCurrentTrackStatus(this.lastState);
|
|
811
796
|
if (lastTrackId !== this.getCurrentTrackId() || lastPosition !== status.currentPosition) {
|
|
812
|
-
this.
|
|
813
|
-
action: 'status',
|
|
814
|
-
status: {
|
|
815
|
-
msgType: exports.RmxAudioStatusMessage.RMXSTATUS_PLAYBACK_POSITION,
|
|
816
|
-
trackId: this.getCurrentTrackId(),
|
|
817
|
-
value: status,
|
|
818
|
-
}
|
|
819
|
-
});
|
|
797
|
+
this.updateStatus(exports.RmxAudioStatusMessage.RMXSTATUS_PLAYBACK_POSITION, status);
|
|
820
798
|
lastTrackId = this.getCurrentTrackId();
|
|
821
799
|
lastPosition = status.currentPosition;
|
|
822
800
|
}
|
|
@@ -883,28 +861,26 @@ class PlaylistWeb extends core.WebPlugin {
|
|
|
883
861
|
this.play();
|
|
884
862
|
});
|
|
885
863
|
}
|
|
864
|
+
this.updateStatus(exports.RmxAudioStatusMessage.RMXSTATUS_TRACK_CHANGED, {
|
|
865
|
+
currentItem: item
|
|
866
|
+
});
|
|
867
|
+
}
|
|
868
|
+
updateStatus(msgType, value, trackId) {
|
|
886
869
|
this.notifyListeners('status', {
|
|
887
870
|
action: 'status',
|
|
888
871
|
status: {
|
|
889
|
-
msgType:
|
|
890
|
-
trackId: this.getCurrentTrackId(),
|
|
891
|
-
value:
|
|
892
|
-
currentItem: item
|
|
893
|
-
}
|
|
872
|
+
msgType: msgType,
|
|
873
|
+
trackId: trackId ? trackId : this.getCurrentTrackId(),
|
|
874
|
+
value: value
|
|
894
875
|
}
|
|
895
876
|
});
|
|
896
877
|
}
|
|
897
|
-
log(message, ...optionalParams) {
|
|
898
|
-
if (this.options.verbose) {
|
|
899
|
-
console.log(message, ...optionalParams);
|
|
900
|
-
}
|
|
901
|
-
}
|
|
902
878
|
loadHlsJs() {
|
|
903
879
|
if (this.hlsLoaded) {
|
|
904
880
|
return Promise.resolve();
|
|
905
881
|
}
|
|
906
882
|
return new Promise((resolve, reject) => {
|
|
907
|
-
|
|
883
|
+
const script = document.createElement('script');
|
|
908
884
|
script.type = 'text/javascript';
|
|
909
885
|
script.src = 'https://cdn.jsdelivr.net/npm/hls.js@1.1.1';
|
|
910
886
|
document.getElementsByTagName('head')[0].appendChild(script);
|