audiobookshelf/client/players/AudioTrack.js

29 lines
923 B
JavaScript
Raw Normal View History

export default class AudioTrack {
constructor(track) {
this.index = track.index || 0
this.startOffset = track.startOffset || 0 // Total time of all previous tracks
this.duration = track.duration || 0
this.title = track.metadata ? track.metadata.filename || '' : ''
this.contentUrl = track.contentUrl || null
this.mimeType = track.mimeType
}
get fullContentUrl() {
if (!this.contentUrl || this.contentUrl.startsWith('http')) return this.contentUrl
if (process.env.NODE_ENV === 'development') {
return `${process.env.serverUrl}${this.contentUrl}`
}
2022-02-23 02:02:01 +01:00
return `${window.location.origin}${this.contentUrl}`
}
get relativeContentUrl() {
if (!this.contentUrl || this.contentUrl.startsWith('http')) return this.contentUrl
if (process.env.NODE_ENV === 'development') {
return `${process.env.serverUrl}${this.contentUrl}`
}
return this.contentUrl
}
}