javascript - 如何将音频工作集连接到网页?
问题描述
我正在尝试将网页连接到音频工作集(按照这个演示但我被卡住了。
有人可以帮忙吗?
这是我到目前为止的代码。这些文件都在同一个文件夹中,但它们不记录任何内容。
索引.HTML
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width,initial-scale=1">
<meta name="mobile-web-app-capable" content="yes">
</head>
<body>
<script src="./index.js"></script>
</body>
</html>
索引.JS
const demoCode = async () => {
const audioContext = new AudioContext()
await audioContext.audioWorklet.addModule('test-processor.js')
const testNode = new AudioWorkletNode(audioContext, 'test-processor')
testNode.connect(audioContext.destination)
}
测试处理器.JS
class TestProcessor extends AudioWorkletProcessor {
constructor () {
super()
console.log(currentFrame)
console.log(currentTime)
}
process (inputs, outputs, parameters) {
return true
}
}
console.log(sampleRate)
const usefulVariable = 42
console.log(usefulVariable)
registerProcessor('test-processor', TestProcessor)
解决方案
看起来你没有在demoCode()
任何地方调用你的函数。如果您想符合当今浏览器中需要响应用户手势的自动播放策略。
首先,您需要在 HTML 中添加一个按钮。
<button id="start" type="button">start</button>
然后,您可以在index.js
文件中为该按钮附加一个事件侦听器。
document.getElementById('start').addEventListener('click', demoCode);
推荐阅读
- node.js - 有没有办法使用 NODEJS 在网页上显示 HDMI 接收到的相机图像?
- java - 关闭扫描仪类时出错
- node.js - Universal-cookie 制作私有路由
- java - 在边界内找到最近的邻居和自身
- python - 销毁 Tkinter 按钮
- ios - Swift - NSInternalInconsistencyException',原因:'请求第 (1) 节的行数超出范围
- android - Websocket 安全错误:未验证主机名
- angular - 无法启动连接:错误并且无法加载资源:SignalR 中的 net::ERR_SSL_PROTOCOL_ERROR
- python - 如何将相关图保存为png
- flutter - 我在 windows 的 android studio 中设置颤振时出错,我已经更新并拥有最新版本的颤振和 android studio