From 606cf200f49a7015a2e189f80ab380b57f767363 Mon Sep 17 00:00:00 2001 From: Jules Laplace Date: Wed, 14 Oct 2020 18:17:50 +0200 Subject: making sure audio is loaded before we start --- .../frontend/app/views/audio/audio.actions.js | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) (limited to 'animism-align/frontend/app/views/audio') diff --git a/animism-align/frontend/app/views/audio/audio.actions.js b/animism-align/frontend/app/views/audio/audio.actions.js index be9e7dc..86dd100 100644 --- a/animism-align/frontend/app/views/audio/audio.actions.js +++ b/animism-align/frontend/app/views/audio/audio.actions.js @@ -3,16 +3,8 @@ import { store, history, dispatch } from 'app/store' import { URLS } from 'app/constants' -// import actions from 'app/actions' -// import { session } from 'app/session' - const audioPlayer = document.createElement('audio') // audioPlayer.volume = 0.0 -audioPlayer.src = URLS.audio -audioPlayer.addEventListener('loadedmetadata', () => { - // console.log('audio duration:', audioPlayer.duration) - dispatch({ type: types.align.set_display_setting, key: 'duration', value: audioPlayer.duration }) -}) audioPlayer.addEventListener('play', () => { dispatch({ type: types.audio.play }) }) @@ -23,6 +15,16 @@ audioPlayer.addEventListener('timeupdate', () => { dispatch({ type: types.audio.update_time, play_ts: audioPlayer.currentTime }) }) +export const load = () => dispatch => { + return new Promise((resolve, reject) => { + audioPlayer.addEventListener('loadedmetadata', () => { + // console.log('audio duration:', audioPlayer.duration) + dispatch({ type: types.align.set_display_setting, key: 'duration', value: audioPlayer.duration }) + resolve() + }) + audioPlayer.src = URLS.audio + }) +} export const play = () => dispatch => { audioPlayer.play() } -- cgit v1.2.3-70-g09d2