ngx-audio-player
Version:
[](https://www.npmjs.com/package/ngx-audio-player) [](https://www.npmjs.com/package/ngx-audio-player) [ {
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=