简体   繁体   English

我可以直接与Windows上的音频端点进行交互吗?

[英]Can I directly interact with audio endpoints on windows?

I am trying to write a pro music/audio processing application, and I would like to be able to interact with the audio inputs/outputs at a very low level - ideally something allowing me to apply effects to the audio inputs and output this in real-time, similar to programs like Logic, Ableton etc. 我正在尝试编写专业的音乐/音频处理应用程序,并且希望能够以非常低的水平与音频输入/输出进行交互-理想情况下,我可以将效果应用于音频输入并将其实际输出时间,类似于Logic,Ableton等程序。

I have written a pretty basic program that detects audio endpoint devices and can change their volumes using the MMDevice interface, but this is nowhere near the functionality I would like. 我已经编写了一个非常基本的程序,该程序可以检测音频终结点设备,并可以使用MMDevice接口更改其音量,但这远不是我想要的功能。

I have learned from the Microsoft docs that the four core-audio APIs are: 我从Microsoft文档中了解到,四个核心音频API是:

  • MMDevice MMDevice
  • WASAPI WASAPI
  • DeviceTopology DeviceTopology
  • EndpointVolume EndpointVolume

but it doesn't seem like any of these have the capabilities that I need. 但似乎这些功能都不具备我需要的功能。 I'm thinking that I will need to be able to interact with the speakers at the level of setting the position of the membrane at a given time. 我认为我需要能够在给定时间设置膜片位置的水平上与扬声器进行交互。

Is this even possible? 这有可能吗? If so, what can I use to do this? 如果是这样,我该怎么做?

The Windows Audio Session API (WASAPI) is the best bet for this purpose. Windows Audio Session API(WASAPI)是达到此目的的最佳选择。 It allows interaction with audio endpoints and setting up audio streams (which are streams of data that you can send or receive in real time). 它允许与音频端点进行交互并设置音频流(可以实时发送或接收的数据流)。 A good example is here . 一个很好的例子在这里

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM