pitch shifter using web-audio-api?(使用网络音频API的音调变送器?)
本文介绍了使用网络音频API的音调变送器?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
使用Node js的音调转换器
您好,我是Web开发的初学者! 我正在尝试建立一个在线音频播放器,为此我需要一个音调变送器。
我试着学习Web音频API,这对我来说不是很容易理解...
有没有人能用节点js帮助建立一个"音调移位器"……或建议学习Web音频API的资源...
为什么此代码在节点js中不起作用?
var audioCtx = new (window.AudioContext || window.webkitAudioContext)();
推荐答案
遗憾的是,网络音频API在Node.js上不可用。Js只是一个JavaScript运行时,Web Audio API不是JavaScript本身的一部分。它是由浏览器添加的API。Node.js中甚至没有window
。
URL
就是一个例子。在这一年,JSConf.eu张祖儿给了a talk explaining the strategy behind bringing more browser APIs to Node.js。但是,Web Audio API不在列表中。
在Node.js中提供Web Audio API是否有意义还有待商榷,但这当然是可能的。至少在一定程度上,如web-audio-api和web-audio-engine项目所示。
如果要在浏览器中实现PitchShifter,可以使用Tone.js附带的PitchShift Effect。下面是一个最小的例子:<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
</head>
<body>
<button id="start-stop">start</button>
<button id="up">up</button>
<button id="down">down</button>
<script src="aHR0cHM6Ly91bnBrZy5jb20vdG9uZUAxMy44LjI1L2J1aWxkL1RvbmUuanM="></script>
<script>
const $startStopButton = document.getElementById('start-stop');
const $upButton = document.getElementById('up');
const $downButton = document.getElementById('down');
const oscillator = new Tone.Oscillator();
const pitchShift = new Tone.PitchShift();
oscillator.connect(pitchShift);
pitchShift.toMaster();
$startStopButton.onclick = () => {
if ($startStopButton.textContent === 'start') {
$startStopButton.textContent = 'stop';
oscillator.start();
} else {
$startStopButton.textContent = 'start';
oscillator.stop();
}
};
$upButton.onclick = () => pitchShift.pitch += 1;
$downButton.onclick = () => pitchShift.pitch -= 1;
</script>
</body>
</html>
这篇关于使用网络音频API的音调变送器?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
沃梦达教程
本文标题为:使用网络音频API的音调变送器?
猜你喜欢
- 400或500级别的HTTP响应 2022-01-01
- 使用RSelum从网站(报纸档案)中抓取多个网页 2022-09-06
- 如何使用 JSON 格式的 jQuery AJAX 从 .cfm 页面输出查 2022-01-01
- CSS媒体查询(最大高度)不起作用,但为什么? 2022-01-01
- 失败的 Canvas 360 jquery 插件 2022-01-01
- Css:将嵌套元素定位在父元素边界之外一点 2022-09-07
- Fetch API 如何获取响应体? 2022-01-01
- Quasar 2+Apollo:错误:找不到ID为默认的Apollo客户端。如果您在组件设置之外,请使用ProvideApolloClient() 2022-01-01
- Flexslider 箭头未正确显示 2022-01-01
- addEventListener 在 IE 11 中不起作用 2022-01-01