ngx-audio-player
Version:
A library for loading and playing audio using HTML 5 for Angular 7/8/9/10/11/12. (https://mudigal-technologies.github.io/ngx-audio-player/)
46 lines • 5.53 kB
JavaScript
import { Injectable } from '@angular/core';
import { BehaviorSubject } from 'rxjs';
import * as i0 from "@angular/core";
export class AudioPlayerService {
constructor() {
// Dynamic update of playlist
this.tracks = [];
this.playlistSubject$ = new BehaviorSubject(this.tracks);
// Get the current track
this.currentTrack = null;
this.currentTrackSubject$ = new BehaviorSubject(this.currentTrack);
// Get the current time
this.currentTime = null;
this.currentTimeSubject$ = new BehaviorSubject(this.currentTime);
}
setPlaylist(tracks) {
this.tracks = tracks;
this.playlistSubject$.next(this.tracks);
}
getPlaylist() {
return this.playlistSubject$.asObservable();
}
setCurrentTrack(currentTrack) {
this.currentTrack = currentTrack;
this.currentTrackSubject$.next(this.currentTrack);
}
getCurrentTrack() {
return this.currentTrackSubject$.asObservable();
}
setCurrentTime(currentTime) {
this.currentTime = currentTime;
this.currentTimeSubject$.next(this.currentTime);
}
getCurrentTime() {
return this.currentTimeSubject$.asObservable();
}
}
AudioPlayerService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: AudioPlayerService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
AudioPlayerService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: AudioPlayerService, providedIn: 'root' });
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: AudioPlayerService, decorators: [{
type: Injectable,
args: [{
providedIn: 'root',
}]
}] });
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXVkaW8tcGxheWVyLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtYXVkaW8tcGxheWVyL3NyYy9saWIvc2VydmljZS9hdWRpby1wbGF5ZXItc2VydmljZS9hdWRpby1wbGF5ZXIuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxlQUFlLEVBQWMsTUFBTSxNQUFNLENBQUM7O0FBTW5ELE1BQU0sT0FBTyxrQkFBa0I7SUFIL0I7UUFLRSw2QkFBNkI7UUFDN0IsV0FBTSxHQUFZLEVBQUUsQ0FBQztRQUNyQixxQkFBZ0IsR0FDZCxJQUFJLGVBQWUsQ0FBVSxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7UUFFNUMsd0JBQXdCO1FBQ3hCLGlCQUFZLEdBQVUsSUFBSSxDQUFDO1FBQzNCLHlCQUFvQixHQUNsQixJQUFJLGVBQWUsQ0FBUSxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7UUFFaEQsdUJBQXVCO1FBQ3ZCLGdCQUFXLEdBQVEsSUFBSSxDQUFDO1FBQ3hCLHdCQUFtQixHQUNqQixJQUFJLGVBQWUsQ0FBTSxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7S0E2QjlDO0lBM0JDLFdBQVcsQ0FBQyxNQUFlO1FBQ3pCLElBQUksQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDO1FBQ3JCLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQzFDLENBQUM7SUFFRCxXQUFXO1FBQ1QsT0FBTyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDOUMsQ0FBQztJQUVELGVBQWUsQ0FBQyxZQUFtQjtRQUNqQyxJQUFJLENBQUMsWUFBWSxHQUFHLFlBQVksQ0FBQztRQUNqQyxJQUFJLENBQUMsb0JBQW9CLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUNwRCxDQUFDO0lBRUQsZUFBZTtRQUNiLE9BQU8sSUFBSSxDQUFDLG9CQUFvQixDQUFDLFlBQVksRUFBRSxDQUFDO0lBQ2xELENBQUM7SUFFRCxjQUFjLENBQUMsV0FBZ0I7UUFDN0IsSUFBSSxDQUFDLFdBQVcsR0FBRyxXQUFXLENBQUM7UUFDL0IsSUFBSSxDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDbEQsQ0FBQztJQUVELGNBQWM7UUFDWixPQUFPLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUNqRCxDQUFDOzsrR0ExQ1Usa0JBQWtCO21IQUFsQixrQkFBa0IsY0FGakIsTUFBTTsyRkFFUCxrQkFBa0I7a0JBSDlCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBUcmFjayB9IGZyb20gJy4uLy4uL21vZGVsL3RyYWNrLm1vZGVsJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIEF1ZGlvUGxheWVyU2VydmljZSB7XG5cbiAgLy8gRHluYW1pYyB1cGRhdGUgb2YgcGxheWxpc3RcbiAgdHJhY2tzOiBUcmFja1tdID0gW107XG4gIHBsYXlsaXN0U3ViamVjdCQ6IEJlaGF2aW9yU3ViamVjdDxUcmFja1tdPiA9XG4gICAgbmV3IEJlaGF2aW9yU3ViamVjdDxUcmFja1tdPih0aGlzLnRyYWNrcyk7XG5cbiAgLy8gR2V0IHRoZSBjdXJyZW50IHRyYWNrXG4gIGN1cnJlbnRUcmFjazogVHJhY2sgPSBudWxsO1xuICBjdXJyZW50VHJhY2tTdWJqZWN0JDogQmVoYXZpb3JTdWJqZWN0PFRyYWNrPiA9XG4gICAgbmV3IEJlaGF2aW9yU3ViamVjdDxUcmFjaz4odGhpcy5jdXJyZW50VHJhY2spO1xuXG4gIC8vIEdldCB0aGUgY3VycmVudCB0aW1lXG4gIGN1cnJlbnRUaW1lOiBhbnkgPSBudWxsO1xuICBjdXJyZW50VGltZVN1YmplY3QkOiBCZWhhdmlvclN1YmplY3Q8YW55PiA9XG4gICAgbmV3IEJlaGF2aW9yU3ViamVjdDxhbnk+KHRoaXMuY3VycmVudFRpbWUpO1xuXG4gIHNldFBsYXlsaXN0KHRyYWNrczogVHJhY2tbXSkge1xuICAgIHRoaXMudHJhY2tzID0gdHJhY2tzO1xuICAgIHRoaXMucGxheWxpc3RTdWJqZWN0JC5uZXh0KHRoaXMudHJhY2tzKTtcbiAgfVxuXG4gIGdldFBsYXlsaXN0KCk6IE9ic2VydmFibGU8VHJhY2tbXT4ge1xuICAgIHJldHVybiB0aGlzLnBsYXlsaXN0U3ViamVjdCQuYXNPYnNlcnZhYmxlKCk7XG4gIH1cblxuICBzZXRDdXJyZW50VHJhY2soY3VycmVudFRyYWNrOiBUcmFjaykge1xuICAgIHRoaXMuY3VycmVudFRyYWNrID0gY3VycmVudFRyYWNrO1xuICAgIHRoaXMuY3VycmVudFRyYWNrU3ViamVjdCQubmV4dCh0aGlzLmN1cnJlbnRUcmFjayk7XG4gIH1cblxuICBnZXRDdXJyZW50VHJhY2soKTogT2JzZXJ2YWJsZTxUcmFjaz4ge1xuICAgIHJldHVybiB0aGlzLmN1cnJlbnRUcmFja1N1YmplY3QkLmFzT2JzZXJ2YWJsZSgpO1xuICB9XG5cbiAgc2V0Q3VycmVudFRpbWUoY3VycmVudFRpbWU6IGFueSkge1xuICAgIHRoaXMuY3VycmVudFRpbWUgPSBjdXJyZW50VGltZTtcbiAgICB0aGlzLmN1cnJlbnRUaW1lU3ViamVjdCQubmV4dCh0aGlzLmN1cnJlbnRUaW1lKTtcbiAgfVxuXG4gIGdldEN1cnJlbnRUaW1lKCk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgcmV0dXJuIHRoaXMuY3VycmVudFRpbWVTdWJqZWN0JC5hc09ic2VydmFibGUoKTtcbiAgfVxuXG59XG4iXX0=