- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试使用 Web Audio Api 获取每分钟节拍数 (BPM),就像在以下链接( http://joesul.li/van/beat-detection-using-web-audio/ 或 https://github.com/JMPerez/beats-audio-api/blob/gh-pages/script.js )中完成的那样,但来自音频流(麦克风)。不幸的是,我无法运行它。有人知道如何将麦克风 MediaStreamSource 转换为 BufferSource 并像第一个链接的网站一样继续吗?这是我到达此点的代码:
navigator.mediaDevices.getUserMedia({ audio: true, video: false })
.then(function(stream) {
/* use the stream */
var OfflineContext = window.OfflineAudioContext || window.webkitOfflineAudioContext;
var source = OfflineContext.createMediaStreamSource(stream);
source.connect(OfflineContext);
var offlineContext = new OfflineContext(2, 30 * 44100, 44100);
offlineContext.decodeAudioData(stream, function(buffer) {
// Create buffer source
var source = offlineContext.createBufferSource();
source.buffer = buffer;
// Beats, or kicks, generally occur around the 100 to 150 hz range.
// Below this is often the bassline. So let's focus just on that.
// First a lowpass to remove most of the song.
var lowpass = offlineContext.createBiquadFilter();
lowpass.type = "lowpass";
lowpass.frequency.value = 150;
lowpass.Q.value = 1;
// Run the output of the source through the low pass.
source.connect(lowpass);
// Now a highpass to remove the bassline.
var highpass = offlineContext.createBiquadFilter();
highpass.type = "highpass";
highpass.frequency.value = 100;
highpass.Q.value = 1;
// Run the output of the lowpass through the highpass.
lowpass.connect(highpass);
// Run the output of the highpass through our offline context.
highpass.connect(offlineContext.destination);
// Start the source, and render the output into the offline conext.
source.start(0);
offlineContext.startRendering();
});
})
.catch(function(err) {
/* handle the error */
alert("Error");
});
谢谢!
最佳答案
那些文章很棒。您当前的方法存在一些问题:
关于javascript - 使用网络音频 api 分析来自麦克风的输入(将 MediaStreamSource 转换为 BufferSource),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51879587/
我们正在尝试在 WP7 模拟器上使用 MediaStreamSource 播放 H.264 流。但是遇到了 3100 视频错误: 在 Mp4MediaStreamSource 的重写方法 OpenMe
如您所知,您可以使用 MediaElement.SetSource(Stream)要将媒体源设置为本地硬盘驱动器上的文件等流,现在假设视频由多个流组成。例如,一个大约 1 小时的视频被分成 6 个 1
我有一个 UWP 项目,我想使用 Windows.Media.Audio API 来播放文件。我不想使用 FileInputNode,而是想流式传输我的文件,以便我可以精确地确定各种计时属性。 我找到
场景:我们有一个将要离线发布的 silverlight 5 OOB 应用程序 (DVD ROM)。此应用程序用作某些教育内容的媒体播放器。为了保护 DVD ROM 附带的视频文件,我决定用每个用户唯一
根据 msdn,MediaStreamSource.AudioBufferLength “获取或设置音频缓冲区的长度”。但是那个长度是多少?毫秒? sample ?字节?任何人?布勒? 最佳答案 毫秒
有人用过这个吗?我相信我搞砸了 CodecPrivateData,但我找不到任何似乎有效的 WAVEFORMTEX FormatTags。我尝试了 0xFF00、0x1016 和 0x0116。我使用
我正在尝试通过 MediaStreamSource 将 Shoutcast 流式传输到我的 MediaElement。这是一个包含一些基础知识的代码。使用 ReadData 方法我可以下载原始音频数据
我有一个 MediaStreamSource这是动态生成的,我想绑定(bind)到 MediaElement。不幸的是 Source属性只接受 URI,所以我不走运。 有一种方法SetSource我可
我已经编写了一个自定义媒体流源,它可以播放来自不断增长的源文件(mpeg 传输流)的媒体。一旦它到达其媒体流的末尾,它就会从媒体文件中读取新的持续时间并继续传送样本。 MediaElement 连续播
我正在尝试使用 Web Audio Api 获取每分钟节拍数 (BPM),就像在以下链接( http://joesul.li/van/beat-detection-using-web-audio/ 或
背景 我正在尝试使用发现的 MediaStreamSource 实现在 Silverlight 4 中流式传输波形文件 here .问题是我想在文件还在缓冲的时候播放它,或者至少在它缓冲的时候给用户一
我是一名优秀的程序员,十分优秀!