问题标签 [scriptprocessor]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
130 浏览

angular - sciptprocessor 在 Angular 10 中通过更改输入流来增加 CPU 使用率。还有怎么销毁

希望从我在设备访问组件路由上实现的音量计中释放 CPU 资源。navigator.mediaDevices.getUserMedia此音量计组件使用 WebRTC调用获取在父组件(设备访问)中设置的现有流。父组件允许用户切换音频输入设备并让音量表反映音量表中反映的输入音量/增益/反馈。

目前存在一个问题,在设备的多个交换机上,CPU 级别逐渐上升。此外,此设备访问页面是通向视频会议组件的网关。一个常见的场景是让用户回到这个除冰访问页面。当用户返回时,onaudioprocess 仍在运行并增加 CPU 使用率。

以下是代码。我在子组件(体积计)中实现了一个 ngOnDestroy,但它似乎并没有影响仍在运行的进程。当我切换输入音频设备(在订阅中)时,我想杀死脚本处理器并重新启动它。我该怎么做呢?

组件标记:

我曾尝试使用 ViewChild 订阅画布并取消订阅,但运气不佳。任何人都对更有效地运行它的策略有任何见解。订阅drawLoop(并将其提取到服务中)是最好的答案吗?

我知道 WebRTC 推荐 audioWorklets: https ://alvestrand.github.io/audio-worklet/

  • 这是一个草稿,没有被 Safari 采用。从长远来看,这似乎是一个更好的解决方案。
0 投票
1 回答
115 浏览

javascript - 如何控制音频 ScriptProcessor 函数的速率

这是我的基本示例,我无法将其放入片段中,因为它会产生安全错误。问题是处理速率有点高,而我的需求是每个之间大约 300 到 500 毫秒。有没有办法控制它。有没有办法暂停处理,直到麦克风收到输入。谢谢您的帮助。

显示费率的 html 文件:

<input type='text' id='output' >

脚本:`

我想做的很简单。我只需要在音量超过阈值时稍微滚动页面,如果您有更简单的选择,那就更好了。就像如何在 setTimeout 回调中访问音量一样。

0 投票
0 回答
66 浏览

web-audio-api - 录制时连接到 AudioWorklet 而不是 ScriptProcessor

我需要将我的 ScriptProcessor 逻辑转换为 AudioWorklet。ScriptProcessor 过程非常简单,只有几行代码,但我很难将它转换为 AudioWorklet。

这是我当前的流程(流来自 userMedia):

然后我将数据发送给工作人员:

我只需要 AudioWorklet 以与 ScriptProcessor 相同的方式处理数据,然后将相同的数据发送给工作人员。

如何将此过程转换为 AudioWorklet?

0 投票
1 回答
72 浏览

elasticsearch - 如何从弹性搜索中的时间戳获取当地星期几

我正在使用摄取管道脚本处理器从每个文档的本地时间中提取星期几。

我正在使用 client_ip 来提取时区,将其与时间戳一起使用来提取本地时间,然后从该本地时间提取星期几(和其他特征)。

这是我的摄取管道:

前两个处理器是出于其他目的而添加的。我已经添加了最后 3 个。

示例文档可能如下:

我现在正在数据中获取 GeoIP 字段,但没有由脚本处理器创建的字段。我究竟做错了什么?

编辑 关于受这些更改影响的索引的一些说明:动态映射已关闭。我已手动将 client_geo.timezone 字段作为关键字添加到索引的映射中。当我在索引上运行以下脚本搜索时

我在脚本执行中收到以下运行时错误: