Wavesurfer JS в приложении VueJS, звук может воспроизводиться, но форма волны никогда не загружается в IOS Safari? - PullRequest
0 голосов
/ 05 мая 2020

Я использую Wavesurfer JS в своем приложении VueJS, и я пытался решить эту проблему на прошлой неделе. На IOS Safari (и только IOS Safari, насколько я могу судить) мой компонент волнового серфера не может завершить sh декодирование звука / загрузку формы волны, и просто появляется тонкая прямая линия. Без использования backend: "MediaElement" компонент просто отображается пустым. Однако, используя бэкэнд, я могу воспроизводить звук, но форма волны по-прежнему не загружается.

Я прочитал в вейсерфер, сделайте c немного и в соответствии с FAQ: "если вы используете бэкэнд : Опция 'MediaElement' ... Воспроизведение звука начнется при нажатии кнопки воспроизведения. Тонкая линия будет отображаться до тех пор, пока весь аудиофайл не будет загружен и декодирован для рисования формы волны. ". Это именно то, что я ощущения, звук может воспроизводиться, и появляется тонкая линия, но я предполагаю, что форма волны никогда не завершает загрузку / декодирование.

Мой Vue метод, который обрабатывает загрузку звука:

setupRecentRecordingandSave(data, num, name) {

  var url = window.URL.createObjectURL(data);

  if (this.wavesurfer[num] == null) {
    this.createWaveSurfer(num);
    this.wavesurfer[num].load(url);
    this.showRecent = true;
  } else {
    this.wavesurfer[num].load(url);
  }
  this.$store.commit("addCough", { key: name, val: data});
}

I ' m с использованием массива элементов волнового серфера, этот метод вызывается после того, как запись сделана пользователем, и данные большого двоичного объекта отправляются в этот метод.

Мой код создания волны:

createWaveSurfer(num) {
  Vue.set(
    this.wavesurfer,
    num,
    WaveSurfer.create({
      container: "#waveform-" + num,
      waveColor: "#f7931e",
      progressColor: "#824500",
      fillParent: true,
      hideScrollbar: true,
      backend: "MediaElement"
    })
  );
},

Я уже некоторое время борюсь с этим, любая помощь приветствуется. Спасибо.

1 Ответ

0 голосов
/ 09 мая 2020

Оказывается, моя проблема была не в WaveSurfer, а в том, как я записывал пользовательский звук на IOS. После исправления ошибок и проверки правильности записи звука форма сигнала отображается правильно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...