Windows 核心音频 API

发布于 2024-12-04 05:00:51 字数 511 浏览 4 评论 0原文

我正在开发一个Windows应用程序,它需要获取当前音频设备的声音输出级别。我目前正在使用 Windows 核心音频 API - EndpointVolume API (IAudioMeterInformations) 执行此操作。应用程序每 10 毫秒检查一次声音输出电平,并根据电平执行自己的逻辑。

该应用程序的关键是在声音到达扬声器之前对其进行操作(因此,当您在此处时,它已经被处理过)。当前的解决方案(使用 EndpointVolume)可以做到这一点,但它处理的声音是 WAS 已经播放了..但我想在播放之前处理声音

使用 DeviceTopology API 中的峰值计而不是 AudioEndpoint API 中的峰值计会更好吗?

我问这个问题是因为应用程序需要尽可能快地对声音输出级别做出反应,因此操作不会被注意到。因此,如果我使用 DeviceTopology(放置在端点设备之前),它会使其响应更快且不那么引人注目吗?

我的假设是正确的还是我吠错了树?

I'm developing an windows application which needs to get the sound output level of the current audio device. I'm currently doing this using windows core audio API - EndpointVolume API (IAudioMeterInformations). The application checks the sound output level every 10ms and does its own logic according to the level.

The key of the app is to manipulate the sound before it reaches the speakers (so when you here it, it was already processed).. The current solutions (using EndpointVolume) kind of does this but it processes the sound which WAS already played.. but i would like to process the sound just before it is played.

Would it be better to use the peak meter from DeviceTopology API in stead of the peak meter in AudioEndpoint API?

I am asking this because the applications needs to react as fast as possible to the sound output level, so the manipulation wont be noticeable. So i though if i would use DeviceTopology (which is placed before the Endpoint device) it would make it more responsive and less noticeable?

Is my assumption correct or am i barking the wrong tree?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文