встраивание файла wav как Uint8Array в javascript - PullRequest
0 голосов
/ 10 апреля 2020

context: Vue 2 приложение, использующее WebPack, созданное в vue -cli.

Мы загружаем небольшой wav-файл в наше приложение. В настоящее время wav-файл просто помещается в папку public и загружается через XMLHttpRequest. В основном это работает, но мы получаем достаточное количество отчетов об ошибках сети от наших пользователей, что мы хотели бы сделать это другим способом, не требующим сетевого запроса.

Поскольку файл небольшой, я бы хотел просто вставить его в наше приложение, возможно, с помощью веб-пакета. Хотя я не могу понять синтаксис для этого.

В идеале, я хотел бы сделать следующее:

  • поставить "beep.wav" в assets папка.
  • Использование import beep from "../path/beep.wav"

В результате получается переменная beep, которая содержит двоичный файл WAV в массиве Uint8Array, все во время компиляции.

Я пробовал разные комбинации вещей, но он постоянно оставляет путь файла в переменной beep вместо всего двоичного файла. (То есть beep равно строке assets/sounds/beep.wav.)

Я не полностью привязан к приведенному выше синтаксису, но в идеале я бы не хотел предварительно обрабатывать и изменять файл WAV, потому что это позже будет сложнее изменить его.

Я пробовал различные комбинации следующих в vue.config.js:

configureWebpack: {
  module: {
    rules: [
      {
        test: /\.wav/,
        loader: 'raw-loader',
        options: {
        esModule: false,
      },
    }
  ]
},

Спасибо!

...