changeset 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 ce598b654044
children 82d476b976e0
files src/app/services/audio-player/audio-player.service.ts
diffstat 1 files changed, 5 insertions(+), 2 deletions(-) [+]
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', () => {