@audiowalk/sdk 1.5.7 → 1.5.9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"player-controller.d.ts","sourceRoot":"","sources":["../../src/player/player-controller.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAwC,OAAO,
|
|
1
|
+
{"version":3,"file":"player-controller.d.ts","sourceRoot":"","sources":["../../src/player/player-controller.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAwC,OAAO,EAAmB,MAAM,MAAM,CAAC;AACvG,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAG/C,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,YAAY,CAAC,EAAE,gBAAgB,CAAC;IAChC,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,aAAa,EAAE,MAAM,CAAC;IACtB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,MAAM,sBAAsB,GAAG,SAAS,CAAC,uBAAuB,EAAE,eAAe,CAAC,CAAC;AAEzF,oBAAY,YAAY;IACtB,SAAS,YAAY;IACrB,QAAQ,WAAW;IACnB,OAAO,UAAU;CAClB;AAED,qBAAa,gBAAgB;IA+Bf,OAAO,CAAC,OAAO;IA9B3B,SAAgB,MAAM,gBAAuB;IAC7C,SAAgB,OAAO,gBAAuB;IAC9C,SAAgB,MAAM,gBAAuB;IAE7C,SAAgB,WAAW,0BAAkC;IAC7D,SAAgB,SAAS,iCAA4C;IACrE,SAAgB,QAAQ,2CAEtB;IAEF,SAAgB,MAAM,uCAAkD;IACxE,SAAgB,OAAO,qCAA2D;IAElF,OAAO,CAAC,aAAa,CAAmB;IAExC,OAAO,CAAC,YAAY,CAA0C;IAE9D,OAAO,CAAC,OAAO,CAA0B;IAEzC,OAAO,CAAC,cAAc,CAEpB;IAEF,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,YAAY,CAAuB;IAE3C,OAAO,CAAC,MAAM,CAAa;IAE3B,OAAO,CAAC,eAAe,CAAuB;gBAE1B,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,GAAE,sBAA2B;IAuErF,IAAI,CAAC,IAAI,EAAE,MAAM;IAYjB,OAAO,CAAC,GAAG,GAAE,OAAe;IAkBlC,OAAO,CAAC,UAAU;IAQZ,OAAO;IAUP,IAAI,CAAC,MAAM,GAAE;QAAE,IAAI,CAAC,EAAE,OAAO,CAAA;KAAqC;IAgBlE,KAAK;IAQL,IAAI,CAAC,MAAM,GAAE;QAAE,IAAI,CAAC,EAAE,OAAO,CAAA;KAAqC;IAgBxE,MAAM,CAAC,OAAO,EAAE,MAAM;IAQhB,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,GAAE;QAAE,IAAI,CAAC,EAAE,OAAO,CAAA;KAAO;IAYzD,YAAY,CAAC,MAAM,EAAE,MAAM;IA6BjC,IAAI,CAAC,OAAO,GAAE,MAAW;IAKzB,OAAO,CAAC,OAAO,GAAE,MAAW;YAMd,YAAY;IAK1B,OAAO,CAAC,GAAG;CAOZ"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { BehaviorSubject, combineLatest, filter, interval, map, Subject,
|
|
1
|
+
import { BehaviorSubject, combineLatest, filter, interval, map, Subject, take, takeUntil } from "rxjs";
|
|
2
2
|
import { LocalStorage } from "../storage/local-storage";
|
|
3
3
|
export var PlayerStatus;
|
|
4
4
|
(function (PlayerStatus) {
|
|
@@ -22,6 +22,7 @@ export class PlayerController {
|
|
|
22
22
|
defaultOptions = {
|
|
23
23
|
crossfadeTime: 2000,
|
|
24
24
|
};
|
|
25
|
+
destroyed = false;
|
|
25
26
|
destroyEvent = new Subject();
|
|
26
27
|
volume = 1;
|
|
27
28
|
fadeCancelEvent = new Subject();
|
|
@@ -95,6 +96,7 @@ export class PlayerController {
|
|
|
95
96
|
}
|
|
96
97
|
async destroy(now = false) {
|
|
97
98
|
this.log("Called destroy" + (now ? "now" : ""));
|
|
99
|
+
this.destroyed = true;
|
|
98
100
|
if (this.status.value !== PlayerStatus.ended) {
|
|
99
101
|
await this.stop();
|
|
100
102
|
return this.destroyNow();
|
|
@@ -147,7 +149,7 @@ export class PlayerController {
|
|
|
147
149
|
}
|
|
148
150
|
async stop(params = { fade: this.options.crossfade }) {
|
|
149
151
|
this.log("Called stop", params.fade ? "with fade" : "");
|
|
150
|
-
if (this.status.value !== PlayerStatus.ended) {
|
|
152
|
+
if (!this.destroyed && this.status.value !== PlayerStatus.ended) {
|
|
151
153
|
this.status.next(PlayerStatus.ended);
|
|
152
154
|
this.onStop.next();
|
|
153
155
|
}
|
|
@@ -180,13 +182,14 @@ export class PlayerController {
|
|
|
180
182
|
this.fadeCancelEvent.next();
|
|
181
183
|
this.volume = volume;
|
|
182
184
|
const fadeOutInterval = 100;
|
|
183
|
-
const
|
|
185
|
+
const fadeOutSteps = this.options.crossfadeTime / fadeOutInterval;
|
|
186
|
+
const fadeOutStep = (this.volume - this.playerElement.volume) / fadeOutSteps;
|
|
184
187
|
if (fadeOutStep === 0)
|
|
185
188
|
return resolve();
|
|
186
189
|
interval(fadeOutInterval)
|
|
187
190
|
.pipe(takeUntil(this.fadeCancelEvent))
|
|
188
191
|
.pipe(takeUntil(this.destroyEvent))
|
|
189
|
-
.pipe(
|
|
192
|
+
.pipe(take(fadeOutSteps))
|
|
190
193
|
.subscribe({
|
|
191
194
|
next: () => {
|
|
192
195
|
this.playerElement.volume = Math.max(0, Math.min(1, this.playerElement.volume + fadeOutStep));
|