diff src/app/services/audio-player/audio-player.service.ts @ 346:f87a96ab1e3f

Back the playing state observable with a ReplaySubject so that animating a play head can be picked up on render
author Lucas Thompson <dev@lucas.im>
date Thu, 25 May 2017 17:52:46 +0100
parents 53ea6406d601
children f93582c38b70
line wrap: on
line diff
--- a/src/app/services/audio-player/audio-player.service.ts	Thu May 25 17:51:46 2017 +0100
+++ b/src/app/services/audio-player/audio-player.service.ts	Thu May 25 17:52:46 2017 +0100
@@ -1,6 +1,7 @@
 import {Injectable, Inject} from '@angular/core';
 import {Subject} from 'rxjs/Subject';
 import {Observable} from 'rxjs/Observable';
+import {ReplaySubject} from 'rxjs/ReplaySubject';
 
 export interface UrlResourceLifetimeManager {
   createUrlToResource(resource: File | Blob): string;
@@ -39,8 +40,10 @@
                 'UrlResourceLifetimeManager'
               ) private resourceManager: UrlResourceLifetimeManager) {
     this.currentObjectUrl = '';
-    this.playingStateChange = new Subject<boolean>();
-    this.playingStateChange$ = this.playingStateChange.asObservable();
+    this.playingStateChange = new ReplaySubject<boolean>(1);
+    this.playingStateChange$ = this.playingStateChange
+      .asObservable();
+
     this.seeked = new Subject<number>();
     this.seeked$ = this.seeked.asObservable();
     this.audioElement.addEventListener('ended', () => {