生成正弦波并在浏览器中播放
Generate sine wave and play it in the browser
我需要一个示例代码,它可以:
-
生成正弦波(样本阵列),然后生成
-
播放。
所有这些都是在浏览器中使用JavaScript中的一些HTML5 API完成的。
(我正在标记这个网络音频,尽管我不能100%确定它是否适用)
这是如何使用跨浏览器AudioContext
在浏览器中播放441赫兹正弦波音调。
window.AudioContext = window.AudioContext || window.webkitAudioContext;
var context = new AudioContext();
function playSound(arr) {
var buf = new Float32Array(arr.length)
for (var i = 0; i < arr.length; i++) buf[i] = arr[i]
var buffer = context.createBuffer(1, buf.length, context.sampleRate)
buffer.copyToChannel(buf, 0)
var source = context.createBufferSource();
source.buffer = buffer;
source.connect(context.destination);
source.start(0);
}
function sineWaveAt(sampleNumber, tone) {
var sampleFreq = context.sampleRate / tone
return Math.sin(sampleNumber / (sampleFreq / (Math.PI * 2)))
}
var arr = [],
volume = 0.2,
seconds = 0.5,
tone = 441
for (var i = 0; i < context.sampleRate * seconds; i++) {
arr[i] = sineWaveAt(i, tone) * volume
}
playSound(arr)
相关文章:
- 是否可以使用iframe API在iOS浏览器上播放youtube视频
- 用于播放背景音乐的嵌入式flash播放器在IE浏览器中不起作用
- 适用于可在网络浏览器和智能手机上运行的网站的 MP3 播放器
- HTML5音频播放器只有在双击后才能在移动浏览器上播放
- 是否可以用javascript或任何脚本语言在浏览器或扬声器中录制播放的声音
- 浏览器同步摄像头加速视频播放不是一个功能
- 创建视频播放器(Quicktime浏览器插件)React元素,输出缺少的视频属性
- 在手机和平板电脑浏览器上播放音频片段
- 谷歌浏览器播放mkv,但火狐不,为什么
- 无法在浏览器中播放MP4视频
- 浏览器内音频播放器如何工作
- 在浏览器中播放PLS文件
- YouTube视频上的HTML5浏览器播放器
- 如何将我的浏览器上播放的实时视频流式传输到其他用户的浏览器
- 检测浏览器视频播放器中广告的网络调用
- 通过javascript和Android浏览器播放音频
- HTML5跨浏览器播放列表
- 当满足特定条件时,可以让浏览器播放声音文件
- 如何使用HTML为浏览器播放的视频设置结束时间
- 无法从W3schools.com'更改图像大小;为移动浏览器播放自动幻灯片