diff options
Diffstat (limited to 'ext')
| -rw-r--r-- | ext/bg/js/audio.js | 14 | ||||
| -rw-r--r-- | ext/bg/js/backend.js | 6 | 
2 files changed, 10 insertions, 10 deletions
| diff --git a/ext/bg/js/audio.js b/ext/bg/js/audio.js index 972e2b8b..0732e25e 100644 --- a/ext/bg/js/audio.js +++ b/ext/bg/js/audio.js @@ -16,7 +16,7 @@   * along with this program.  If not, see <https://www.gnu.org/licenses/>.   */ -/*global jpIsStringEntirelyKana, audioGetFromSources*/ +/*global jpIsStringEntirelyKana*/  const audioUrlBuilders = new Map([      ['jpod101', async (definition) => { @@ -154,7 +154,7 @@ function audioBuildFilename(definition) {      return null;  } -async function audioInject(definition, fields, sources, optionsContext) { +async function audioInject(definition, fields, sources, optionsContext, audioSystem) {      let usesAudio = false;      for (const fieldValue of Object.values(fields)) {          if (fieldValue.includes('{audio}')) { @@ -171,12 +171,10 @@ async function audioInject(definition, fields, sources, optionsContext) {          const expressions = definition.expressions;          const audioSourceDefinition = Array.isArray(expressions) ? expressions[0] : definition; -        const {url} = await audioGetFromSources(audioSourceDefinition, sources, optionsContext, true); -        if (url !== null) { -            const filename = audioBuildFilename(audioSourceDefinition); -            if (filename !== null) { -                definition.audio = {url, filename}; -            } +        const {uri} = await audioSystem.getExpressionAudio(audioSourceDefinition, sources, optionsContext, {tts: false}); +        const filename = audioBuildFilename(audioSourceDefinition); +        if (filename !== null) { +            definition.audio = {url: uri, filename};          }          return true; diff --git a/ext/bg/js/backend.js b/ext/bg/js/backend.js index 04bf240d..abf4c673 100644 --- a/ext/bg/js/backend.js +++ b/ext/bg/js/backend.js @@ -23,7 +23,7 @@ requestText, requestJson, optionsLoad  dictConfigured, dictTermsSort, dictEnabledSet, dictNoteFormat  audioGetUrl, audioInject  jpConvertReading, jpDistributeFuriganaInflected, jpKatakanaToHiragana -Translator, AnkiConnect, AnkiNull, Mecab, BackendApiForwarder, JsonSchema, ClipboardMonitor*/ +AudioSystem, Translator, AnkiConnect, AnkiNull, Mecab, BackendApiForwarder, JsonSchema, ClipboardMonitor*/  class Backend {      constructor() { @@ -34,6 +34,7 @@ class Backend {          this.options = null;          this.optionsSchema = null;          this.defaultAnkiFieldTemplates = null; +        this.audioSystem = new AudioSystem();          this.optionsContext = {              depth: 0,              url: window.location.href @@ -436,7 +437,8 @@ class Backend {                  definition,                  options.anki.terms.fields,                  options.audio.sources, -                optionsContext +                optionsContext, +                this.audioSystem              );          } |