diff options
Diffstat (limited to 'frontend/site/audio/audio.player.js')
| -rw-r--r-- | frontend/site/audio/audio.player.js | 31 |
1 files changed, 27 insertions, 4 deletions
diff --git a/frontend/site/audio/audio.player.js b/frontend/site/audio/audio.player.js index 9a2d783..acf2f52 100644 --- a/frontend/site/audio/audio.player.js +++ b/frontend/site/audio/audio.player.js @@ -1,13 +1,36 @@ export default class AudioPlayer { + files = {} players = {} - play({ item, restart, loop }) { + load(graph) { + this.files = graph.uploads + .filter(upload => upload.tag === 'audio') + .reduce((accumulator, item) => { + accumulator[item.id] = item + return accumulator + }, {}) + console.log(this.files) + } + + playPage(page) { + console.log(page.settings) + const { background_audio_id, restart_audio } = page.settings + if (background_audio_id in this.files) { + this.playFile({ + item: this.files[background_audio_id], + restart: !!restart_audio, + }) + } + } + + playFile({ item, restart, loop }) { return new Promise((resolve, reject) => { const { id, url } = item - if (id in players) { + console.log('play >>', id, url) + if (id in this.players) { if (restart) { - players[id].currentTime = 0 - players[id].play() + this.players[id].currentTime = 0 + this.players[id].play() return resolve() } return reject() |
