当前位置: 首页 > 知识库问答 >
问题:

web音频api以不同的速率播放哔哔哔…哔哔

丁念
2023-03-14

我正在尝试播放“哔”的声音在不同的速率基于一些传感器读数在一个浏览器窗口。

其想法是,当传感器读数高时,“哔、哔、哔、哔、哔”更快,当传感器读数低时,“哔、哔、哔”更慢,所有这些都是实时的。

传感器读数通过socket.io输入浏览器。我已经可以控制一个上下移动的进度条了。音频反馈是一个额外的功能。

经过一些谷歌搜索,我正在考虑使用web audio api,创建一个正弦波振荡器,并通过一个增益节点连接/断开来打开/关闭它。

我的问题是如何以正确的方式控制定时,比如我试图在1 Hz至20 Hz的频率范围内发出哔哔声,并能够动态改变频率。

共有1个答案

钱睿范
2023-03-14

我最明确的不是通过连接和断开振荡器来打开和关闭它--你必须从主线程来做这件事,所以不是超可预测的。

实际上,您可以使用调制低频振荡器来实现这一点:查看以下代码:

var context = new AudioContext();

//defaults to A440Hz, sine wave
var src = context.createOscillator();

// Now let's create a modulator to turn beeps on and off
var mod = context.createOscillator();
mod.type="square";
mod.frequency.value = "2";  // Start at 2Hz

var gain = context.createGain();
var scaler = context.createGain();

src.connect(gain);
gain.connect(context.destination);

mod.connect(scaler); // Mod signal is [-1,1]
scaler.gain.value = 0.5; // we need it to be [-0.5,0.5]
gain.gain.value = 0.5; // then it's summed with 0.5, so [0,1]
scaler.connect(gain.gain);

//start it up
src.start(0);
mod.start(0);

// to change rate, change mod.frequency.value to desired frequency
 类似资料:
  • 首先说背景:华五本硕,2段相关项目,一篇b会 算法岗的面试好就好在不用准备八股,上来就是自我介绍,项目介绍,刷题这老三样。题是一道基础的dfs,leetcode序号200。 问了面试官工作时长,感觉b站的工作时长都差不多,基本就是早10晚7,属于夜猫子版wlb。 挺多人说算法岗要顶会,但就我切身体验感觉:好学校,对口项目,好论文,三者满足其二就可以了,我也没顶会,但是只要方向对口,面试一般都推的比

  • 代码题 数组中和为target的元素的下标 代码题 和小于target的最长连续子序列 vue生命周期 vue双向绑定原理 箭头函数 为什么学前端 为什么跨考 已挂,面试体验不好,感觉是kpi面#哔哩哔哩实习#

  • 全程 35 min, 感觉面试官问的有些难度,我答得一般般,没想到竟然过了,已经 oc,感谢面试官~ 1. 自我介绍 2. TCP 和 UDP 的区别? 3. http1.1 和 http2.0 的区别? 4. 讲讲 https 的握手过程? 5. 强缓存和协商缓存? 6. 302 是什么?403 是什么?401 是什么? 7. 哪些地方需要用到缓存? 8. CPU 的调度算法? 9. 链表的结构

  • 1. 一组木板中,最大正方形边长 2. 荷塘里面,跳过荷叶,最大数字和 #秋招##2023校招#

  • 1.自我介绍 2.抽象类和普通类的区别 3.抽象类和接口区别 4.讲一些Set、List、Map 5.介绍项目 6.sql统计最热销的三个菜品 7.为什么用redis,redis为什么快 8.弹幕功能设计测试用例 9.排序数组两数之和(双指针AC) 10.面试官说他们部门功能测试偏多一些,建议我投开发🤣 11.如果让你做功能测试愿意吗? 整体面试小姐姐人很好,建议我投开发🤣,他们部门是偏功能测

  • #运营人求职交流聚集地# 当时还没疫情,直接去B站总部线下面的,顺便感受了一波公司氛围hhh 整体感觉真的很年轻化,有种人还在学校的错觉~而且是真的着装自由(dddd) 1.挑选了几段经历简单询问,感觉目的是探索职业规划。 2.在xx实习期间,mentor如何评价你? 3.挑选了一个项目,询问细节。 4.你B站会员是几级?除B站外,你还使用哪些平台?对比xx app的最大区别? 5.你使用各个ap