From b91c79e321f8022ee53903cffead04ed4d4760e6 Mon Sep 17 00:00:00 2001 From: Alex Yatskov Date: Tue, 14 Jun 2016 20:33:19 -0700 Subject: [PATCH] Cache audio samples --- ext/fg/js/client.js | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/ext/fg/js/client.js b/ext/fg/js/client.js index 5b8cfe29..1f77ed95 100644 --- a/ext/fg/js/client.js +++ b/ext/fg/js/client.js @@ -20,7 +20,7 @@ class Client { constructor() { this.popup = new Popup(); - this.audio = null; + this.audio = {}; this.lastMousePos = null; this.lastRange = null; this.activateKey = 16; @@ -172,12 +172,15 @@ class Client { const dfn = this.definitions[index]; const url = `http://assets.languagepod101.com/dictionary/japanese/audiomp3.php?kana=${dfn.reading}&kanji=${dfn.expression}`; - if (this.audio !== null) { - this.audio.pause(); + for (let key in this.audio) { + this.audio[key].pause(); } - this.audio = new Audio(url); - this.audio.play(); + const audio = this.audio[url] || new Audio(url); + audio.currentTime = 0; + audio.play(); + + this.audio[url] = audio; } api_displayKanji(kanji) {