capacitor-plugin-playlist 0.1.27 → 0.1.31
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 +17 -5
- 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 +47 -74
- package/dist/esm/web.js.map +1 -1
- package/dist/plugin.cjs.js +47 -74
- package/dist/plugin.cjs.js.map +1 -1
- package/dist/plugin.js +47 -74
- package/dist/plugin.js.map +1 -1
- package/ios/Plugin/RmxAudioPlayer.swift +39 -39
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -105,20 +105,32 @@ Be sure to check out the examples folder, where you can find an Angular10/Ionic5
|
|
|
105
105
|
Just drop into your project and go.
|
|
106
106
|
Should be quite obvious howto adapt this for other frameworks, or just vanillaJS
|
|
107
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
|
+
|
|
108
124
|
### Migrating from cordova-plugin-playlist
|
|
109
125
|
|
|
110
|
-
See the
|
|
126
|
+
See the use the shipped RmxAudioPlayer.ts
|
|
111
127
|
|
|
112
128
|
Its a meant as a drop in replacement
|
|
113
129
|
|
|
114
130
|
in the best case you only change your import. :D
|
|
115
131
|
|
|
116
|
-
### API
|
|
117
132
|
|
|
118
|
-
- TODO!
|
|
119
133
|
## 5. Todo
|
|
120
|
-
* [iOS] Write this plugin in Swift instead of Objective-C. I didn't have time to learn Swift when I needed this.
|
|
121
|
-
* [iOS] Safely implement cover art for cover images displayed on the command/lock screen controls
|
|
122
134
|
* [iOS] Utilize [AudioPlayer](https://github.com/delannoyk/AudioPlayer) instead of directly implementing AVQueuePlayer. `AudioPlayer` includes some smart network recovery features
|
|
123
135
|
* [iOS, Android] Add a full example
|
|
124
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() {
|
|
@@ -62,23 +65,26 @@ export class PlaylistWeb extends WebPlugin {
|
|
|
62
65
|
}
|
|
63
66
|
async release() {
|
|
64
67
|
await this.pause();
|
|
68
|
+
this.audio.src = "";
|
|
65
69
|
this.audio = undefined;
|
|
66
70
|
return Promise.resolve();
|
|
67
71
|
}
|
|
68
72
|
removeItem(options) {
|
|
69
73
|
this.playlistItems.forEach((item, index) => {
|
|
70
74
|
if (options.index && options.index === index) {
|
|
71
|
-
this.playlistItems.splice(index, 1);
|
|
75
|
+
const removedTrack = this.playlistItems.splice(index, 1);
|
|
76
|
+
this.updateStatus(RmxAudioStatusMessage.RMXSTATUS_ITEM_REMOVED, removedTrack[0], removedTrack[0].trackId);
|
|
72
77
|
}
|
|
73
78
|
else if (options.id && options.id === item.trackId) {
|
|
74
|
-
this.playlistItems.splice(index, 1);
|
|
79
|
+
const removedTrack = this.playlistItems.splice(index, 1);
|
|
80
|
+
this.updateStatus(RmxAudioStatusMessage.RMXSTATUS_ITEM_REMOVED, removedTrack[0], removedTrack[0].trackId);
|
|
75
81
|
}
|
|
76
82
|
});
|
|
77
83
|
return Promise.resolve();
|
|
78
84
|
}
|
|
79
85
|
removeItems(options) {
|
|
80
|
-
options.items.forEach((item) => {
|
|
81
|
-
this.removeItem(item);
|
|
86
|
+
options.items.forEach(async (item) => {
|
|
87
|
+
await this.removeItem(item);
|
|
82
88
|
});
|
|
83
89
|
return Promise.resolve();
|
|
84
90
|
}
|
|
@@ -123,14 +129,18 @@ export class PlaylistWeb extends WebPlugin {
|
|
|
123
129
|
return Promise.reject();
|
|
124
130
|
}
|
|
125
131
|
setPlaylistItems(options) {
|
|
126
|
-
var _a;
|
|
132
|
+
var _a, _b;
|
|
127
133
|
this.playlistItems = options.items;
|
|
128
134
|
if (this.playlistItems.length > 0) {
|
|
129
|
-
|
|
135
|
+
let currentItem = this.playlistItems.filter(i => { var _a; return i.trackId === ((_a = options.options) === null || _a === void 0 ? void 0 : _a.playFromId); })[0];
|
|
136
|
+
if (!currentItem) {
|
|
137
|
+
currentItem = this.playlistItems[0];
|
|
138
|
+
}
|
|
139
|
+
return this.setCurrent(currentItem, ((_a = options.options) === null || _a === void 0 ? void 0 : _a.retainPosition) ? (_b = options.options) === null || _b === void 0 ? void 0 : _b.playFromPosition : 0);
|
|
130
140
|
}
|
|
131
141
|
return Promise.resolve();
|
|
132
142
|
}
|
|
133
|
-
skipForward() {
|
|
143
|
+
async skipForward() {
|
|
134
144
|
let found = null;
|
|
135
145
|
this.playlistItems.forEach((item, index) => {
|
|
136
146
|
if (!found && this.getCurrentTrackId() === item.trackId) {
|
|
@@ -141,11 +151,15 @@ export class PlaylistWeb extends WebPlugin {
|
|
|
141
151
|
found = -1;
|
|
142
152
|
}
|
|
143
153
|
if (found !== null) {
|
|
154
|
+
this.updateStatus(RmxAudioStatusMessage.RMX_STATUS_SKIP_BACK, {
|
|
155
|
+
currentIndex: found + 1,
|
|
156
|
+
currentItem: this.playlistItems[found + 1]
|
|
157
|
+
}, this.playlistItems[found + 1].trackId);
|
|
144
158
|
return this.setCurrent(this.playlistItems[found + 1]);
|
|
145
159
|
}
|
|
146
160
|
return Promise.reject();
|
|
147
161
|
}
|
|
148
|
-
skipBack() {
|
|
162
|
+
async skipBack() {
|
|
149
163
|
let found = null;
|
|
150
164
|
this.playlistItems.forEach((item, index) => {
|
|
151
165
|
if (!found && this.getCurrentTrackId() === item.trackId) {
|
|
@@ -156,8 +170,11 @@ export class PlaylistWeb extends WebPlugin {
|
|
|
156
170
|
found = this.playlistItems.length - 1;
|
|
157
171
|
}
|
|
158
172
|
if (found !== null) {
|
|
159
|
-
this.
|
|
160
|
-
|
|
173
|
+
this.updateStatus(RmxAudioStatusMessage.RMX_STATUS_SKIP_BACK, {
|
|
174
|
+
currentIndex: found - 1,
|
|
175
|
+
currentItem: this.playlistItems[found - 1]
|
|
176
|
+
}, this.playlistItems[found - 1].trackId);
|
|
177
|
+
return this.setCurrent(this.playlistItems[found - 1]);
|
|
161
178
|
}
|
|
162
179
|
return Promise.reject();
|
|
163
180
|
}
|
|
@@ -188,14 +205,7 @@ export class PlaylistWeb extends WebPlugin {
|
|
|
188
205
|
registerHtmlListeners(position) {
|
|
189
206
|
const canPlayListener = async () => {
|
|
190
207
|
var _a;
|
|
191
|
-
this.
|
|
192
|
-
action: 'status',
|
|
193
|
-
status: {
|
|
194
|
-
msgType: RmxAudioStatusMessage.RMXSTATUS_CANPLAY,
|
|
195
|
-
trackId: this.getCurrentTrackId(),
|
|
196
|
-
value: this.getCurrentTrackStatus('paused'),
|
|
197
|
-
}
|
|
198
|
-
});
|
|
208
|
+
this.updateStatus(RmxAudioStatusMessage.RMXSTATUS_CANPLAY, this.getCurrentTrackStatus('paused'));
|
|
199
209
|
if (position) {
|
|
200
210
|
await this.seekTo({ position });
|
|
201
211
|
}
|
|
@@ -204,57 +214,22 @@ export class PlaylistWeb extends WebPlugin {
|
|
|
204
214
|
if (this.audio) {
|
|
205
215
|
this.audio.addEventListener('canplay', canPlayListener);
|
|
206
216
|
this.audio.addEventListener('playing', () => {
|
|
207
|
-
this.
|
|
208
|
-
action: 'status',
|
|
209
|
-
status: {
|
|
210
|
-
msgType: RmxAudioStatusMessage.RMXSTATUS_PLAYING,
|
|
211
|
-
trackId: this.getCurrentTrackId(),
|
|
212
|
-
value: this.getCurrentTrackStatus('playing'),
|
|
213
|
-
}
|
|
214
|
-
});
|
|
217
|
+
this.updateStatus(RmxAudioStatusMessage.RMXSTATUS_PLAYING, this.getCurrentTrackStatus('playing'));
|
|
215
218
|
});
|
|
216
219
|
this.audio.addEventListener('pause', () => {
|
|
217
|
-
this.
|
|
218
|
-
action: 'status',
|
|
219
|
-
status: {
|
|
220
|
-
msgType: RmxAudioStatusMessage.RMXSTATUS_PAUSE,
|
|
221
|
-
trackId: this.getCurrentTrackId(),
|
|
222
|
-
value: this.getCurrentTrackStatus('paused'),
|
|
223
|
-
}
|
|
224
|
-
});
|
|
220
|
+
this.updateStatus(RmxAudioStatusMessage.RMXSTATUS_PAUSE, this.getCurrentTrackStatus('paused'));
|
|
225
221
|
});
|
|
226
222
|
this.audio.addEventListener('error', () => {
|
|
227
|
-
this.
|
|
228
|
-
action: 'status',
|
|
229
|
-
status: {
|
|
230
|
-
msgType: RmxAudioStatusMessage.RMXSTATUS_ERROR,
|
|
231
|
-
trackId: this.getCurrentTrackId(),
|
|
232
|
-
value: this.getCurrentTrackStatus('error'),
|
|
233
|
-
}
|
|
234
|
-
});
|
|
223
|
+
this.updateStatus(RmxAudioStatusMessage.RMXSTATUS_ERROR, this.getCurrentTrackStatus('error'));
|
|
235
224
|
});
|
|
236
225
|
this.audio.addEventListener('ended', () => {
|
|
237
|
-
this.
|
|
238
|
-
action: 'status',
|
|
239
|
-
status: {
|
|
240
|
-
msgType: RmxAudioStatusMessage.RMXSTATUS_STOPPED,
|
|
241
|
-
trackId: this.getCurrentTrackId(),
|
|
242
|
-
value: this.getCurrentTrackStatus('stopped'),
|
|
243
|
-
}
|
|
244
|
-
});
|
|
226
|
+
this.updateStatus(RmxAudioStatusMessage.RMXSTATUS_STOPPED, this.getCurrentTrackStatus('stopped'));
|
|
245
227
|
});
|
|
246
228
|
let lastTrackId, lastPosition;
|
|
247
229
|
this.audio.addEventListener('timeupdate', () => {
|
|
248
230
|
const status = this.getCurrentTrackStatus(this.lastState);
|
|
249
231
|
if (lastTrackId !== this.getCurrentTrackId() || lastPosition !== status.currentPosition) {
|
|
250
|
-
this.
|
|
251
|
-
action: 'status',
|
|
252
|
-
status: {
|
|
253
|
-
msgType: RmxAudioStatusMessage.RMXSTATUS_PLAYBACK_POSITION,
|
|
254
|
-
trackId: this.getCurrentTrackId(),
|
|
255
|
-
value: status,
|
|
256
|
-
}
|
|
257
|
-
});
|
|
232
|
+
this.updateStatus(RmxAudioStatusMessage.RMXSTATUS_PLAYBACK_POSITION, status);
|
|
258
233
|
lastTrackId = this.getCurrentTrackId();
|
|
259
234
|
lastPosition = status.currentPosition;
|
|
260
235
|
}
|
|
@@ -298,6 +273,11 @@ export class PlaylistWeb extends WebPlugin {
|
|
|
298
273
|
this.audio.load();
|
|
299
274
|
}
|
|
300
275
|
this.audio = document.createElement('video');
|
|
276
|
+
if (wasPlaying) {
|
|
277
|
+
this.audio.addEventListener('canplay', () => {
|
|
278
|
+
this.play();
|
|
279
|
+
});
|
|
280
|
+
}
|
|
301
281
|
this.currentTrack = item;
|
|
302
282
|
if (item.assetUrl.includes('.m3u8')) {
|
|
303
283
|
await this.loadHlsJs();
|
|
@@ -316,33 +296,26 @@ export class PlaylistWeb extends WebPlugin {
|
|
|
316
296
|
this.audio.src = item.assetUrl;
|
|
317
297
|
}
|
|
318
298
|
await this.registerHtmlListeners(position);
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
299
|
+
this.updateStatus(RmxAudioStatusMessage.RMXSTATUS_TRACK_CHANGED, {
|
|
300
|
+
currentItem: item
|
|
301
|
+
});
|
|
302
|
+
}
|
|
303
|
+
updateStatus(msgType, value, trackId) {
|
|
324
304
|
this.notifyListeners('status', {
|
|
325
305
|
action: 'status',
|
|
326
306
|
status: {
|
|
327
|
-
msgType:
|
|
328
|
-
trackId: this.getCurrentTrackId(),
|
|
329
|
-
value:
|
|
330
|
-
currentItem: item
|
|
331
|
-
}
|
|
307
|
+
msgType: msgType,
|
|
308
|
+
trackId: trackId ? trackId : this.getCurrentTrackId(),
|
|
309
|
+
value: value
|
|
332
310
|
}
|
|
333
311
|
});
|
|
334
312
|
}
|
|
335
|
-
log(message, ...optionalParams) {
|
|
336
|
-
if (this.options.verbose) {
|
|
337
|
-
console.log(message, ...optionalParams);
|
|
338
|
-
}
|
|
339
|
-
}
|
|
340
313
|
loadHlsJs() {
|
|
341
314
|
if (this.hlsLoaded) {
|
|
342
315
|
return Promise.resolve();
|
|
343
316
|
}
|
|
344
317
|
return new Promise((resolve, reject) => {
|
|
345
|
-
|
|
318
|
+
const script = document.createElement('script');
|
|
346
319
|
script.type = 'text/javascript';
|
|
347
320
|
script.src = 'https://cdn.jsdelivr.net/npm/hls.js@1.1.1';
|
|
348
321
|
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() {
|
|
@@ -628,23 +631,26 @@ class PlaylistWeb extends core.WebPlugin {
|
|
|
628
631
|
}
|
|
629
632
|
async release() {
|
|
630
633
|
await this.pause();
|
|
634
|
+
this.audio.src = "";
|
|
631
635
|
this.audio = undefined;
|
|
632
636
|
return Promise.resolve();
|
|
633
637
|
}
|
|
634
638
|
removeItem(options) {
|
|
635
639
|
this.playlistItems.forEach((item, index) => {
|
|
636
640
|
if (options.index && options.index === index) {
|
|
637
|
-
this.playlistItems.splice(index, 1);
|
|
641
|
+
const removedTrack = this.playlistItems.splice(index, 1);
|
|
642
|
+
this.updateStatus(exports.RmxAudioStatusMessage.RMXSTATUS_ITEM_REMOVED, removedTrack[0], removedTrack[0].trackId);
|
|
638
643
|
}
|
|
639
644
|
else if (options.id && options.id === item.trackId) {
|
|
640
|
-
this.playlistItems.splice(index, 1);
|
|
645
|
+
const removedTrack = this.playlistItems.splice(index, 1);
|
|
646
|
+
this.updateStatus(exports.RmxAudioStatusMessage.RMXSTATUS_ITEM_REMOVED, removedTrack[0], removedTrack[0].trackId);
|
|
641
647
|
}
|
|
642
648
|
});
|
|
643
649
|
return Promise.resolve();
|
|
644
650
|
}
|
|
645
651
|
removeItems(options) {
|
|
646
|
-
options.items.forEach((item) => {
|
|
647
|
-
this.removeItem(item);
|
|
652
|
+
options.items.forEach(async (item) => {
|
|
653
|
+
await this.removeItem(item);
|
|
648
654
|
});
|
|
649
655
|
return Promise.resolve();
|
|
650
656
|
}
|
|
@@ -689,14 +695,18 @@ class PlaylistWeb extends core.WebPlugin {
|
|
|
689
695
|
return Promise.reject();
|
|
690
696
|
}
|
|
691
697
|
setPlaylistItems(options) {
|
|
692
|
-
var _a;
|
|
698
|
+
var _a, _b;
|
|
693
699
|
this.playlistItems = options.items;
|
|
694
700
|
if (this.playlistItems.length > 0) {
|
|
695
|
-
|
|
701
|
+
let currentItem = this.playlistItems.filter(i => { var _a; return i.trackId === ((_a = options.options) === null || _a === void 0 ? void 0 : _a.playFromId); })[0];
|
|
702
|
+
if (!currentItem) {
|
|
703
|
+
currentItem = this.playlistItems[0];
|
|
704
|
+
}
|
|
705
|
+
return this.setCurrent(currentItem, ((_a = options.options) === null || _a === void 0 ? void 0 : _a.retainPosition) ? (_b = options.options) === null || _b === void 0 ? void 0 : _b.playFromPosition : 0);
|
|
696
706
|
}
|
|
697
707
|
return Promise.resolve();
|
|
698
708
|
}
|
|
699
|
-
skipForward() {
|
|
709
|
+
async skipForward() {
|
|
700
710
|
let found = null;
|
|
701
711
|
this.playlistItems.forEach((item, index) => {
|
|
702
712
|
if (!found && this.getCurrentTrackId() === item.trackId) {
|
|
@@ -707,11 +717,15 @@ class PlaylistWeb extends core.WebPlugin {
|
|
|
707
717
|
found = -1;
|
|
708
718
|
}
|
|
709
719
|
if (found !== null) {
|
|
720
|
+
this.updateStatus(exports.RmxAudioStatusMessage.RMX_STATUS_SKIP_BACK, {
|
|
721
|
+
currentIndex: found + 1,
|
|
722
|
+
currentItem: this.playlistItems[found + 1]
|
|
723
|
+
}, this.playlistItems[found + 1].trackId);
|
|
710
724
|
return this.setCurrent(this.playlistItems[found + 1]);
|
|
711
725
|
}
|
|
712
726
|
return Promise.reject();
|
|
713
727
|
}
|
|
714
|
-
skipBack() {
|
|
728
|
+
async skipBack() {
|
|
715
729
|
let found = null;
|
|
716
730
|
this.playlistItems.forEach((item, index) => {
|
|
717
731
|
if (!found && this.getCurrentTrackId() === item.trackId) {
|
|
@@ -722,8 +736,11 @@ class PlaylistWeb extends core.WebPlugin {
|
|
|
722
736
|
found = this.playlistItems.length - 1;
|
|
723
737
|
}
|
|
724
738
|
if (found !== null) {
|
|
725
|
-
this.
|
|
726
|
-
|
|
739
|
+
this.updateStatus(exports.RmxAudioStatusMessage.RMX_STATUS_SKIP_BACK, {
|
|
740
|
+
currentIndex: found - 1,
|
|
741
|
+
currentItem: this.playlistItems[found - 1]
|
|
742
|
+
}, this.playlistItems[found - 1].trackId);
|
|
743
|
+
return this.setCurrent(this.playlistItems[found - 1]);
|
|
727
744
|
}
|
|
728
745
|
return Promise.reject();
|
|
729
746
|
}
|
|
@@ -754,14 +771,7 @@ class PlaylistWeb extends core.WebPlugin {
|
|
|
754
771
|
registerHtmlListeners(position) {
|
|
755
772
|
const canPlayListener = async () => {
|
|
756
773
|
var _a;
|
|
757
|
-
this.
|
|
758
|
-
action: 'status',
|
|
759
|
-
status: {
|
|
760
|
-
msgType: exports.RmxAudioStatusMessage.RMXSTATUS_CANPLAY,
|
|
761
|
-
trackId: this.getCurrentTrackId(),
|
|
762
|
-
value: this.getCurrentTrackStatus('paused'),
|
|
763
|
-
}
|
|
764
|
-
});
|
|
774
|
+
this.updateStatus(exports.RmxAudioStatusMessage.RMXSTATUS_CANPLAY, this.getCurrentTrackStatus('paused'));
|
|
765
775
|
if (position) {
|
|
766
776
|
await this.seekTo({ position });
|
|
767
777
|
}
|
|
@@ -770,57 +780,22 @@ class PlaylistWeb extends core.WebPlugin {
|
|
|
770
780
|
if (this.audio) {
|
|
771
781
|
this.audio.addEventListener('canplay', canPlayListener);
|
|
772
782
|
this.audio.addEventListener('playing', () => {
|
|
773
|
-
this.
|
|
774
|
-
action: 'status',
|
|
775
|
-
status: {
|
|
776
|
-
msgType: exports.RmxAudioStatusMessage.RMXSTATUS_PLAYING,
|
|
777
|
-
trackId: this.getCurrentTrackId(),
|
|
778
|
-
value: this.getCurrentTrackStatus('playing'),
|
|
779
|
-
}
|
|
780
|
-
});
|
|
783
|
+
this.updateStatus(exports.RmxAudioStatusMessage.RMXSTATUS_PLAYING, this.getCurrentTrackStatus('playing'));
|
|
781
784
|
});
|
|
782
785
|
this.audio.addEventListener('pause', () => {
|
|
783
|
-
this.
|
|
784
|
-
action: 'status',
|
|
785
|
-
status: {
|
|
786
|
-
msgType: exports.RmxAudioStatusMessage.RMXSTATUS_PAUSE,
|
|
787
|
-
trackId: this.getCurrentTrackId(),
|
|
788
|
-
value: this.getCurrentTrackStatus('paused'),
|
|
789
|
-
}
|
|
790
|
-
});
|
|
786
|
+
this.updateStatus(exports.RmxAudioStatusMessage.RMXSTATUS_PAUSE, this.getCurrentTrackStatus('paused'));
|
|
791
787
|
});
|
|
792
788
|
this.audio.addEventListener('error', () => {
|
|
793
|
-
this.
|
|
794
|
-
action: 'status',
|
|
795
|
-
status: {
|
|
796
|
-
msgType: exports.RmxAudioStatusMessage.RMXSTATUS_ERROR,
|
|
797
|
-
trackId: this.getCurrentTrackId(),
|
|
798
|
-
value: this.getCurrentTrackStatus('error'),
|
|
799
|
-
}
|
|
800
|
-
});
|
|
789
|
+
this.updateStatus(exports.RmxAudioStatusMessage.RMXSTATUS_ERROR, this.getCurrentTrackStatus('error'));
|
|
801
790
|
});
|
|
802
791
|
this.audio.addEventListener('ended', () => {
|
|
803
|
-
this.
|
|
804
|
-
action: 'status',
|
|
805
|
-
status: {
|
|
806
|
-
msgType: exports.RmxAudioStatusMessage.RMXSTATUS_STOPPED,
|
|
807
|
-
trackId: this.getCurrentTrackId(),
|
|
808
|
-
value: this.getCurrentTrackStatus('stopped'),
|
|
809
|
-
}
|
|
810
|
-
});
|
|
792
|
+
this.updateStatus(exports.RmxAudioStatusMessage.RMXSTATUS_STOPPED, this.getCurrentTrackStatus('stopped'));
|
|
811
793
|
});
|
|
812
794
|
let lastTrackId, lastPosition;
|
|
813
795
|
this.audio.addEventListener('timeupdate', () => {
|
|
814
796
|
const status = this.getCurrentTrackStatus(this.lastState);
|
|
815
797
|
if (lastTrackId !== this.getCurrentTrackId() || lastPosition !== status.currentPosition) {
|
|
816
|
-
this.
|
|
817
|
-
action: 'status',
|
|
818
|
-
status: {
|
|
819
|
-
msgType: exports.RmxAudioStatusMessage.RMXSTATUS_PLAYBACK_POSITION,
|
|
820
|
-
trackId: this.getCurrentTrackId(),
|
|
821
|
-
value: status,
|
|
822
|
-
}
|
|
823
|
-
});
|
|
798
|
+
this.updateStatus(exports.RmxAudioStatusMessage.RMXSTATUS_PLAYBACK_POSITION, status);
|
|
824
799
|
lastTrackId = this.getCurrentTrackId();
|
|
825
800
|
lastPosition = status.currentPosition;
|
|
826
801
|
}
|
|
@@ -864,6 +839,11 @@ class PlaylistWeb extends core.WebPlugin {
|
|
|
864
839
|
this.audio.load();
|
|
865
840
|
}
|
|
866
841
|
this.audio = document.createElement('video');
|
|
842
|
+
if (wasPlaying) {
|
|
843
|
+
this.audio.addEventListener('canplay', () => {
|
|
844
|
+
this.play();
|
|
845
|
+
});
|
|
846
|
+
}
|
|
867
847
|
this.currentTrack = item;
|
|
868
848
|
if (item.assetUrl.includes('.m3u8')) {
|
|
869
849
|
await this.loadHlsJs();
|
|
@@ -882,33 +862,26 @@ class PlaylistWeb extends core.WebPlugin {
|
|
|
882
862
|
this.audio.src = item.assetUrl;
|
|
883
863
|
}
|
|
884
864
|
await this.registerHtmlListeners(position);
|
|
885
|
-
|
|
886
|
-
|
|
887
|
-
|
|
888
|
-
|
|
889
|
-
|
|
865
|
+
this.updateStatus(exports.RmxAudioStatusMessage.RMXSTATUS_TRACK_CHANGED, {
|
|
866
|
+
currentItem: item
|
|
867
|
+
});
|
|
868
|
+
}
|
|
869
|
+
updateStatus(msgType, value, trackId) {
|
|
890
870
|
this.notifyListeners('status', {
|
|
891
871
|
action: 'status',
|
|
892
872
|
status: {
|
|
893
|
-
msgType:
|
|
894
|
-
trackId: this.getCurrentTrackId(),
|
|
895
|
-
value:
|
|
896
|
-
currentItem: item
|
|
897
|
-
}
|
|
873
|
+
msgType: msgType,
|
|
874
|
+
trackId: trackId ? trackId : this.getCurrentTrackId(),
|
|
875
|
+
value: value
|
|
898
876
|
}
|
|
899
877
|
});
|
|
900
878
|
}
|
|
901
|
-
log(message, ...optionalParams) {
|
|
902
|
-
if (this.options.verbose) {
|
|
903
|
-
console.log(message, ...optionalParams);
|
|
904
|
-
}
|
|
905
|
-
}
|
|
906
879
|
loadHlsJs() {
|
|
907
880
|
if (this.hlsLoaded) {
|
|
908
881
|
return Promise.resolve();
|
|
909
882
|
}
|
|
910
883
|
return new Promise((resolve, reject) => {
|
|
911
|
-
|
|
884
|
+
const script = document.createElement('script');
|
|
912
885
|
script.type = 'text/javascript';
|
|
913
886
|
script.src = 'https://cdn.jsdelivr.net/npm/hls.js@1.1.1';
|
|
914
887
|
document.getElementsByTagName('head')[0].appendChild(script);
|