diff options
| author | Jules Laplace <julescarbon@gmail.com> | 2021-03-17 18:36:14 +0100 |
|---|---|---|
| committer | Jules Laplace <julescarbon@gmail.com> | 2021-03-17 18:36:14 +0100 |
| commit | 2313cc4bb4d6c511c76d28020c1c97e6a5eb0a4d (patch) | |
| tree | 1847076edc6efda0f9e075f12a9be91f63372cb5 /frontend/site/audio/audio.player.js | |
| parent | d165a0727e42349d935ab3ee287242f1e5029742 (diff) | |
audio actually playing
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() |
