UNPKG

ngx-audio-player

Version:

[![npm version](https://img.shields.io/npm/v/ngx-audio-player.svg?colorB=red)](https://www.npmjs.com/package/ngx-audio-player) [![Downloads](https://img.shields.io/npm/dm/ngx-audio-player.svg)](https://www.npmjs.com/package/ngx-audio-player) [![licence](h

137 lines 8.58 kB
/** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ import { Injectable } from '@angular/core'; import { BehaviorSubject } from 'rxjs'; export class AudioPlayerService { constructor() { this.playlist = []; this.indexSong = 0; this.currentTrack = new BehaviorSubject(this.playlist[this.indexSong]); this.currentTime = 0; this.duration = 0; } ; /** * @return {?} */ init() { this.updateCurrentSong(); } ; /** * @return {?} */ nextSong() { if ((this.indexSong + 1) >= this.playlist.length) { this.indexSong = 0; } else { this.indexSong++; } this.updateCurrentSong(); } ; /** * @return {?} */ previousSong() { if ((this.indexSong - 1) < 0) { this.indexSong = (this.playlist.length - 1); } else { this.indexSong--; } this.updateCurrentSong(); } ; /** * @return {?} */ resetPlaylist() { this.indexSong = 0; this.updateCurrentSong(); } ; /** * @param {?} index * @return {?} */ selectATrack(index) { this.indexSong = index - 1; this.updateCurrentSong(); } ; /** * @return {?} */ updateCurrentSong() { /** @type {?} */ let current = this.playlist[this.indexSong]; /** @type {?} */ let previous = ((this.indexSong - 1) >= 0) ? this.playlist[this.indexSong - 1] : this.playlist[this.playlist.length - 1]; /** @type {?} */ let next = ((this.indexSong + 1) >= this.playlist.length) ? this.playlist[0] : this.playlist[this.indexSong + 1]; this.currentTrack.next([ previous, current, next ]); } ; /** * @return {?} */ getSubjectCurrentTrack() { return this.currentTrack; } ; /** * @return {?} */ getPlaylist() { return this.playlist; } ; /** * @param {?} playlist * @return {?} */ setPlaylist(playlist) { this.playlist = playlist; } /** * @return {?} */ getIndexSong() { return this.indexSong; } } AudioPlayerService.decorators = [ { type: Injectable } ]; /** @nocollapse */ AudioPlayerService.ctorParameters = () => []; if (false) { /** @type {?} */ AudioPlayerService.prototype.playlist; /** @type {?} */ AudioPlayerService.prototype.indexSong; /** @type {?} */ AudioPlayerService.prototype.currentTrack; /** @type {?} */ AudioPlayerService.prototype.currentTime; /** @type {?} */ AudioPlayerService.prototype.duration; /* Skipping unhandled member: ;*/ /* Skipping unhandled member: ;*/ /* Skipping unhandled member: ;*/ /* Skipping unhandled member: ;*/ /* Skipping unhandled member: ;*/ /* Skipping unhandled member: ;*/ /* Skipping unhandled member: ;*/ /* Skipping unhandled member: ;*/ /* Skipping unhandled member: ;*/ } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXVkaW8tcGxheWVyLnNlcnZpY2UuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9uZ3gtYXVkaW8tcGxheWVyLyIsInNvdXJjZXMiOlsibGliL3NlcnZpY2UvYXVkaW8tcGxheWVyLXNlcnZpY2UvYXVkaW8tcGxheWVyLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUl2QyxNQUFNLE9BQU8sa0JBQWtCO0lBUzdCO1FBUEEsYUFBUSxHQUFZLEVBQUUsQ0FBQztRQUV2QixjQUFTLEdBQVcsQ0FBQyxDQUFDO1FBQ3RCLGlCQUFZLEdBQXdCLElBQUksZUFBZSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUM7UUFDdkYsZ0JBQVcsR0FBVyxDQUFDLENBQUM7UUFDeEIsYUFBUSxHQUFXLENBQUMsQ0FBQztJQUlyQixDQUFDO0lBQUEsQ0FBQzs7OztJQUVGLElBQUk7UUFDRixJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztJQUMzQixDQUFDO0lBQUEsQ0FBQzs7OztJQUVGLFFBQVE7UUFDTixJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsR0FBRyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sRUFBRTtZQUNoRCxJQUFJLENBQUMsU0FBUyxHQUFHLENBQUMsQ0FBQztTQUNwQjthQUFNO1lBQ0wsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO1NBQ2xCO1FBQ0QsSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUM7SUFDM0IsQ0FBQztJQUFBLENBQUM7Ozs7SUFFRixZQUFZO1FBQ1YsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxFQUFFO1lBQzVCLElBQUksQ0FBQyxTQUFTLEdBQUcsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQztTQUM3QzthQUFNO1lBQ0wsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO1NBQ2xCO1FBQ0QsSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUM7SUFDM0IsQ0FBQztJQUFBLENBQUM7Ozs7SUFFRixhQUFhO1FBQ1gsSUFBSSxDQUFDLFNBQVMsR0FBRyxDQUFDLENBQUM7UUFDbkIsSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUM7SUFDM0IsQ0FBQztJQUFBLENBQUM7Ozs7O0lBRUYsWUFBWSxDQUFDLEtBQWE7UUFDeEIsSUFBSSxDQUFDLFNBQVMsR0FBRyxLQUFLLEdBQUcsQ0FBQyxDQUFDO1FBQzNCLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO0lBQzNCLENBQUM7SUFBQSxDQUFDOzs7O0lBRUYsaUJBQWlCOztZQUNYLE9BQU8sR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUM7O1lBQ3ZDLFFBQVEsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsU0FBUyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQzs7WUFDcEgsSUFBSSxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxHQUFHLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFNBQVMsR0FBRyxDQUFDLENBQUM7UUFFaEgsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUM7WUFDckIsUUFBUTtZQUNSLE9BQU87WUFDUCxJQUFJO1NBQ0wsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUFBLENBQUM7Ozs7SUFFRixzQkFBc0I7UUFDcEIsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDO0lBQzNCLENBQUM7SUFBQSxDQUFDOzs7O0lBRUYsV0FBVztRQUNULE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQztJQUN2QixDQUFDO0lBQUEsQ0FBQzs7Ozs7SUFFRixXQUFXLENBQUMsUUFBaUI7UUFDM0IsSUFBSSxDQUFDLFFBQVEsR0FBRyxRQUFRLENBQUM7SUFDM0IsQ0FBQzs7OztJQUVELFlBQVk7UUFDVixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUM7SUFDeEIsQ0FBQzs7O1lBeEVGLFVBQVU7Ozs7OztJQUdULHNDQUF1Qjs7SUFFdkIsdUNBQXNCOztJQUN0QiwwQ0FBdUY7O0lBQ3ZGLHlDQUF3Qjs7SUFDeEIsc0NBQXFCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBUcmFjayB9IGZyb20gJy4uLy4uL21vZGVsL3RyYWNrLm1vZGVsJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIEF1ZGlvUGxheWVyU2VydmljZSB7XG5cbiAgcGxheWxpc3Q6IFRyYWNrW10gPSBbXTtcblxuICBpbmRleFNvbmc6IG51bWJlciA9IDA7XG4gIGN1cnJlbnRUcmFjazogQmVoYXZpb3JTdWJqZWN0PHt9PiA9IG5ldyBCZWhhdmlvclN1YmplY3QodGhpcy5wbGF5bGlzdFt0aGlzLmluZGV4U29uZ10pO1xuICBjdXJyZW50VGltZTogbnVtYmVyID0gMDtcbiAgZHVyYXRpb246IG51bWJlciA9IDA7XG5cbiAgY29uc3RydWN0b3IoKSB7XG5cbiAgfTtcblxuICBpbml0KCk6IHZvaWQge1xuICAgIHRoaXMudXBkYXRlQ3VycmVudFNvbmcoKTtcbiAgfTtcblxuICBuZXh0U29uZygpOiB2b2lkIHtcbiAgICBpZiAoKHRoaXMuaW5kZXhTb25nICsgMSkgPj0gdGhpcy5wbGF5bGlzdC5sZW5ndGgpIHtcbiAgICAgIHRoaXMuaW5kZXhTb25nID0gMDtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5pbmRleFNvbmcrKztcbiAgICB9XG4gICAgdGhpcy51cGRhdGVDdXJyZW50U29uZygpO1xuICB9O1xuXG4gIHByZXZpb3VzU29uZygpOiB2b2lkIHtcbiAgICBpZiAoKHRoaXMuaW5kZXhTb25nIC0gMSkgPCAwKSB7XG4gICAgICB0aGlzLmluZGV4U29uZyA9ICh0aGlzLnBsYXlsaXN0Lmxlbmd0aCAtIDEpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmluZGV4U29uZy0tO1xuICAgIH1cbiAgICB0aGlzLnVwZGF0ZUN1cnJlbnRTb25nKCk7XG4gIH07XG5cbiAgcmVzZXRQbGF5bGlzdCgpOiB2b2lkIHtcbiAgICB0aGlzLmluZGV4U29uZyA9IDA7XG4gICAgdGhpcy51cGRhdGVDdXJyZW50U29uZygpO1xuICB9O1xuXG4gIHNlbGVjdEFUcmFjayhpbmRleDogbnVtYmVyKTogdm9pZCB7XG4gICAgdGhpcy5pbmRleFNvbmcgPSBpbmRleCAtIDE7XG4gICAgdGhpcy51cGRhdGVDdXJyZW50U29uZygpO1xuICB9O1xuXG4gIHVwZGF0ZUN1cnJlbnRTb25nKCk6IHZvaWQge1xuICAgIGxldCBjdXJyZW50ID0gdGhpcy5wbGF5bGlzdFt0aGlzLmluZGV4U29uZ107XG4gICAgbGV0IHByZXZpb3VzID0gKCh0aGlzLmluZGV4U29uZyAtIDEpID49IDApID8gdGhpcy5wbGF5bGlzdFt0aGlzLmluZGV4U29uZyAtIDFdIDogdGhpcy5wbGF5bGlzdFt0aGlzLnBsYXlsaXN0Lmxlbmd0aCAtIDFdO1xuICAgIGxldCBuZXh0ID0gKCh0aGlzLmluZGV4U29uZyArIDEpID49IHRoaXMucGxheWxpc3QubGVuZ3RoKSA/IHRoaXMucGxheWxpc3RbMF0gOiB0aGlzLnBsYXlsaXN0W3RoaXMuaW5kZXhTb25nICsgMV07XG4gIFxuICAgIHRoaXMuY3VycmVudFRyYWNrLm5leHQoW1xuICAgICAgcHJldmlvdXMsXG4gICAgICBjdXJyZW50LFxuICAgICAgbmV4dFxuICAgIF0pO1xuICB9O1xuXG4gIGdldFN1YmplY3RDdXJyZW50VHJhY2soKTogQmVoYXZpb3JTdWJqZWN0PHt9PiB7XG4gICAgcmV0dXJuIHRoaXMuY3VycmVudFRyYWNrO1xuICB9O1xuXG4gIGdldFBsYXlsaXN0KCk6IFRyYWNrW10ge1xuICAgIHJldHVybiB0aGlzLnBsYXlsaXN0O1xuICB9O1xuXG4gIHNldFBsYXlsaXN0KHBsYXlsaXN0OiBUcmFja1tdKSB7XG4gICAgdGhpcy5wbGF5bGlzdCA9IHBsYXlsaXN0O1xuICB9XG5cbiAgZ2V0SW5kZXhTb25nICgpIHtcbiAgICByZXR1cm4gdGhpcy5pbmRleFNvbmc7XG4gIH1cbn0iXX0=