Я использую 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"
})
);
},
Я уже некоторое время борюсь с этим, любая помощь приветствуется. Спасибо.