到目前为止,我已经能够使用 Node.js 和 Express 将文件提供给我的动态网页,如下所示。
app.use(express.static('./public'));
然后链接到公用文件夹中的文件。
Wavesurfer.js 文档声明必须从 url 加载文件
从 URL 加载音频文件:
wavesurfer.load('example/media/demo.wav');
我不确定我是否理解这意味着什么。或如何使用 node.js 将文件链接到 wavesurfer.js
编辑:
我从链接跨源请求仅支持 HTTP 中发现了这一点。” 加载本地文件时出错
Node.js 或者,如果您需要更灵敏的设置并且已经使用 nodejs...
http-server
通过键入安装npm install -g http-server
进入你的工作目录,你
some.html
生活的地方通过发出启动您的 http 服务器
http-server -c-1
这会启动一个 Node.js httpd,它将目录中的文件作为静态文件提供,可从http://localhost:8080
我不能使用快递达到同样的效果吗?
我的代码:
<!DOCTYPE html>
<html lang="en" dir="ltr">
<head>
<meta charset="utf-8">
<title></title>
</head>
<body>
<div id="waveform"></div>
<script src="https://cdnjs.cloudflare.com/ajax/libs/wavesurfer.js/1.2.3/wavesurfer.min.js"></script>
<script>
var wavesurfer = WaveSurfer.create({
container: '#waveform',
waveColor: 'violet',
progressColor: 'purple'
});
wavesurfer.load('/public/recordings/o.mp3');
</script>
</body>
</html>
我得到的错误:
不允许启动 AudioContext。它必须在页面上的用户手势之后恢复(或创建)。
从源“null”访问“file:///C:/public/recordings/o.mp3”的 XMLHttpRequest 已被 CORS 策略阻止:跨源请求仅支持协议方案:http、data、chrome、chrome -扩展,https。