使用网络音频录制时 createmediastreamsource 输入缓冲区中的零值数据

2024-01-11

我正在尝试通过 USB 麦克风录制现场音频,将其转换为 WAV 并上传到服务器。我在 Windows XP 上使用 Chrome Canary(最新版本)。我的开发基于以下示例http://webaudiodemos.appspot.com/AudioRecorder/index.html http://webaudiodemos.appspot.com/AudioRecorder/index.html

我发现当我激活录音时,onaudioprocess 事件输入缓冲区(例如 e.inputBuffer.getChannelData(0))都是零值数据。当然,在这种情况下,不会有声音输出或记录。我已经通过用产生输出 WAV 文件中显示的音调的数据替换输入缓冲区数据来验证了代码的其余部分。当我使用 createMediaStreamSource 以外的方法时,一切正常。例如,我可以使用 createObjectURL 并将 src 设置为它,并成功地听到实时播放的现场音频。我还可以加载音频文件并使用 createBufferSource,看到在播放期间(我听到),inputBuffer 中当然有非零数据。

由于我在网上看到的大多数网络音频录制演示都依赖于 createMediaStreamSource,我猜测这在 Chrome 的后续版本中已被无意中破坏。谁能证实这一点或建议如何克服这个问题?


可能不是 Chrome 的版本。目前实时输入仍然有一些很高的要求:

1) Windows 上输入和输出采样率需要相同 2) 仅限 Windows 7+ - 我不相信它能在 Windows XP 上运行,这可能会让你崩溃。 3) 输入设备必须是立体声(或 >2 个通道) - 许多(如果不是大多数)USB 麦克风显示为单声道设备,并且网络音频尚不能与它们配合使用。

当然,我假设我的 AudioRecorder 演示也不适合您。

随着时间的推移,这些限制将被消除。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用网络音频录制时 createmediastreamsource 输入缓冲区中的零值数据 的相关文章

  • 使用 FFMPEG 进行网络音频 api 的直播

    我正在尝试使用 node js ffmpeg 将音频流式传输到仅使用 Web 音频 api 在 LAN 中连接的浏览器 不使用 element 因为它添加了自己的 8 到 10 秒的缓冲区 并且我希望获得尽可能高的延迟 最多大约 1 到 2
  • 使用 fetch 进行 WebAudio 流式传输:DOMException:无法解码音频数据

    我正在尝试使用 Chrome 51 播放来自 fetch API 的无限流 网络摄像头音频流为 Microsoft PCM 16 位 单声道 11025 Hz 该代码对于 mp3 文件几乎可以正常工作 除了一些小故障 但它对于 wav 文件
  • 在浏览器中为节拍器准确计时声音[关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 目前不接受答案 我想创建一个虚拟节拍器并在每一步中播放节拍器声音 常用方法如setTimeout setInterval 不够准确 我怎样才能让它在不延迟或不掉节拍
  • 合并多个音频缓冲区源

    关于html5 webaudio的问题 是否可以将多首歌曲合并在一起 我有不同的曲目 它们都使用 webaudio 同时播放 但我需要处理音频 因此我需要一个缓冲区内的所有音频 而不是每个曲目都有自己的缓冲区 我尝试通过添加通道数据来合并它
  • webaudio 无法在 Android 设备上使用人行横道与 ionic 配合使用

    我创建了一个 ionic webrtc 应用程序 在使用时运行完美ionic serve 在网络浏览器上 女巫是正常的 但自从该设备上根本无法工作getUserMedia函数无法执行 我找到的解决方案是安装人行横道 更新权限AndroidM
  • 网络音频 api 以不同的速率播放嘟嘟声、嘟嘟声、...嘟嘟声

    我试图根据浏览器窗口内的一些传感器读数以不同的速率播放 嘟嘟 声 这个想法是当传感器读数高时更快地 嘟嘟 嘟嘟 嘟 嘟 当传感器读数低时更慢地 嘟 嘟 所有这些都是实时的 传感器读数通过 socket io 输入浏览器 我已经可以控制进度条
  • Chrome - createMediaElementSource 不起作用

    我的网站有一个简单的音频分析器 var analyser document getElementById analyzer var beat document getElementById track meta var canvas ctx
  • 如何播放WebRTC录制的音频流块?

    我正在尝试创建一个实验性应用程序 可以实时传输音频client 1 to client 2 因此 在学习了有关同一主题的一些教程和问题之后 我使用了WebRTC and binaryjs 到目前为止 这就是我得到的 1 Client 1 a
  • 将音频和视频轨道组合成新的 MediaStream

    我需要使用来自不同 MediaStream 的音频和视频创建 MediaStream 在 Firefox 中 我可以从轨道数组实例化一个新的 MediaStream var outputTracks outputTracks outputT
  • 如何/在哪里定义 AudioWorkletProcessor

    我刚刚开始使用 Web Audio API 我仔细阅读了 API 文档并看到了几个示例 我的问题可能很微不足道 而且我可能错过了一些基本的东西 我有下面的工作者 javascript 文件 它来自一个我放错了网址的示例 我正在使用 PyCh
  • 对齐音频以便使用网络音频 api 流畅播放

    我目前正在尝试弄清楚如何使用网络音频 API 播放分块音频 一切都正常 但是 大多数块之间的转换并不像我希望的那样顺利 有一个非常非常短暂的时刻大多数人之间保持沉默 我当前的加载和播放代码 const response await fetc
  • Web Audio API:停止播放所有预定的声音

    所以我有一堆加载的音频样本 我在下面的代码中调用调度函数 let audio function playChannel let audioStart context currentTime let next 0 for let i 0 i
  • 在 Android 中获取麦克风音频。音频上下文

    由于某种原因我无法得到这个问题的答案 你好 我需要访问 Android 麦克风 我使用这个在网络上制作了一个调谐器应用程序 https github com cwilso PitchDetect https github com cwils
  • 从多个设备同时在多个轨道上录制音频

    我目前正在使用 JavaScript 中的 Web Audio API 开发音频 Web 应用程序 但我发现了一个问题 我需要从不同的设备同时录制到不同的轨道 想象一下 例如 一个具有 8 个输入的声卡独立地录制在 8 个缓冲区中 以便录制
  • iOS 9 中的 Web Audio API 失真?

    我一直在开发一个使用 WebAudio 进行声音合成的跨平台 Cordova 应用程序 最近在将手机升级到 iOS 9 2 后开始遇到音频输出失真的问题 基本上 在我的手机上运行该应用程序的三分之二中 振荡器输出会发出嗡嗡声并且声音失真 可
  • 网络音频 API 故障/失真问题

    我是网络音频 API 的新手 并制作了一个简单的合成器来了解细节 问题是 在大量声音输入后 我的音频会失真很多 因此 如果我施加大量频率 它就会失真 任何了解 API 的人都可以快速浏览一下我的代码 看看是否存在任何重大错误 遗漏 可以在
  • 使用 chrome 进行 OfflineAudioContext FFT 分析

    我正在尝试构建一个波形生成器 它获取音频文件幅度值并在 JavaScript 中尽快 比实时更快 将它们显示到画布上 所以我使用 OfflineAudioContext webkitOfflineAudioContext 加载文件并开始分析
  • Web Audio Api:如何添加工作卷积器?

    我想学习 做的事情 如何使用脉冲响应在下面的代码沙箱中设置一个简单的工作卷积器 混响 我认为这与设置过滤器类似 但事情似乎完全不同 我尝试过的 与所有新技术一样 事物变化很快 因此很难知道哪些实施是正确的 哪些实施是错误的 我查看了无数的
  • 这是 Firefox 中的错误还是 chrome 主动修复了我做错的事情?

    当麦克风的信号超过设定的阈值时 下面的代码只是将一个框变成红色 它在 Linux 上的 chromium 和 Windows 上的 chrome 上快乐地运行一整天 它在两个平台上的 Firefox 上也运行良好 大约 15 秒 当它在 F
  • Web RTC 流的音频电平表

    我想为视频元素中播放的音频创建一个分贝计 视频元素正在播放 WebRTC 流 目前 WebRTC 流无法传递到 Web 音频分析器中 尽管这可能很快就会改变 参见Web Audio API 分析器节点 getByteFrequencyDat

随机推荐