javascript - Wavesurfer.js 不适用于 Vue 组件
问题描述
我想使用wavesurfer.js制作一个可视音频播放器组件。但它不适用于 Vue。
播放器.vue:
<template>
<div><div id="wave"></div></div>
</template>
<script>
import WaveSurfer from "wavesurfer.js";
export default {
name: "Player",
mounted() {
this.wavesurfer = WaveSurfer.create({
container: "#wave"
});
this.wavesurfer.load("../media/song.mp3");
this.wavesurfer.on("ready", function() {
this.wavesurfer.play();
});
}
};
</script>
控制台上有一条错误消息:
页面中呈现一个空白区域:
我试图捕捉这样的错误。
mounted() {
try {
this.wavesurfer = WaveSurfer.create({
container: "#wave"
});
this.wavesurfer.load("../media/song .ogg");
this.wavesurfer.on("ready", function() {
this.wavesurfer.play();
});
} catch (error) {
console.log(error);
}
}
但它没有发现任何错误。控制台和以前一样。
解决方案
文件路径有问题。在我尝试使用外部 mp3 歌曲后,它工作正常。
this.wavesurfer.load("http://localhost:3000/public/song.mp3");
推荐阅读
- javascript - 根据每个创建具有不同变量/值的数组身份证和班级
- svelte - Svelte 自定义元素 API
- javascript - 无法在订阅主体内的 setState 挂钩中调用先前状态的对象方法
- node.js - Express-Session:connect.sid 值从何而来?
- html - 创建居中的可滚动容器
- html - 调整textarea大小时,所有元素都向下移动:如何修复
- python - Python gui按钮(tkinter)函数在程序执行而不是onclick时正在运行
- amazon-web-services - 如何部署先前使用 Amazon Sagemaker 训练并存储在 S3 存储桶中的现有 pytorch 模型
- python - 用于 PyPI 中 pyclustering 库中的 kmedoids 的 n-iter?
- sdk - Yocto SDK 中缺少文件