aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ext/mixed/js/audio-system.js10
-rw-r--r--ext/mixed/js/display.js7
2 files changed, 10 insertions, 7 deletions
diff --git a/ext/mixed/js/audio-system.js b/ext/mixed/js/audio-system.js
index 0ded3490..94885d34 100644
--- a/ext/mixed/js/audio-system.js
+++ b/ext/mixed/js/audio-system.js
@@ -85,13 +85,15 @@ class AudioSystem {
const cacheValue = this._cache.get(key);
if (typeof cacheValue !== 'undefined') {
const {audio, uri, source} = cacheValue;
- if (sources.includes(source)) {
- return {audio, uri, source};
+ const index = sources.indexOf(source);
+ if (index >= 0) {
+ return {audio, uri, index};
}
}
}
- for (const source of sources) {
+ for (let i = 0, ii = sources.length; i < ii; ++i) {
+ const source = sources[i];
const uri = await this._getAudioUri(definition, source, details);
if (uri === null) { continue; }
@@ -101,7 +103,7 @@ class AudioSystem {
this._cacheCheck();
this._cache.set(key, {audio, uri, source});
}
- return {audio, uri, source};
+ return {audio, uri, index: i};
} catch (e) {
// NOP
}
diff --git a/ext/mixed/js/display.js b/ext/mixed/js/display.js
index 8edae7c9..5b8d3610 100644
--- a/ext/mixed/js/display.js
+++ b/ext/mixed/js/display.js
@@ -796,11 +796,12 @@ class Display {
this.audioPlaying = null;
}
- let audio, source, info;
+ let audio, info;
try {
const {sources, textToSpeechVoice, customSourceUrl} = this.options.audio;
- ({audio, source} = await this.audioSystem.getDefinitionAudio(expression, sources, {textToSpeechVoice, customSourceUrl}));
- info = `From source ${1 + sources.indexOf(source)}: ${source}`;
+ let index;
+ ({audio, index} = await this.audioSystem.getDefinitionAudio(expression, sources, {textToSpeechVoice, customSourceUrl}));
+ info = `From source ${1 + index}: ${sources[index]}`;
} catch (e) {
if (this.audioFallback === null) {
this.audioFallback = new Audio('/mixed/mp3/button.mp3');