getUserMedia in a web worker
getUserMedia in a web worker
我怀疑这个问题的答案是"不",但以防有人有更多的信息…
我正在处理音频和视频,似乎简单地将音频样本存储在ScripProcessorNode
的onaudioprocess
处理器中(用于后期处理),在低端硬件上使用高达40%的CPU。这使得我的视频处理丢帧。
我想将音频处理移动到网络工作者,但在网络工作者上下文中似乎没有任何访问navigator.webkitGetUserMedia
(或任何变体)的权限。
因为我现在只存储数据,它会造成这样的开销,我认为将它以消息的形式发送给网络工作者也会有类似的开销。
简而言之,我的问题是:有没有办法直接从网络工作者访问麦克风?
不幸的是,答案是否定的。网络工作者不能(直接)访问userMedia
。根据您处理数据的方式,您可以在主线程中启动,并使用worker.postMessage
将一些工作卸载给worker。然而,无论你传递给worker.postMessage
什么必须是可序列化的-所以它不能是音频流本身,例如。
相关文章:
- Web Worker postMessage({})何时返回给调用者
- Web Worker 能否利用 100% 的多核 CPU
- 三.js:如何从Web-worker加载动画.json模型
- 从 Web Worker 执行 AJAX 请求是否可行
- 在Web Worker中将SVG转换为PNG
- 如何通过HTTPS加载Web Worker脚本
- 当浏览器关闭时,运行Web Worker会发生什么情况
- JavaScript:不允许Web Worker使用(例如)XmlHttpRequest
- 在 HTML5 Web Worker 中使用地理位置
- 无法在 Firefox 35 插件中创建内联 Web Worker
- Javascript - 等待 Web worker 完成
- 如何使用 Web worker 加载内联 Javascript
- JavaScript 函数可以检查它是否在 Web Worker 线程上运行吗?
- 在 Web worker 上使用 CamanJS
- Javascript Web Worker 修改全局对象
- 使用 Web Worker 和 D3.js 异步生成图形
- 多个 Web Worker ajax 请求,但并非所有请求都返回
- 这个 Web worker 代码是多线程的吗,我是否获得了什么
- 如何在 Web Worker 中访问 Chrome API
- JavaScript Web Worker close() 不起作用