Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/windows/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 我可以直接与windows上的音频端点交互吗?_C++_Windows_Visual Studio_Audio - Fatal编程技术网

C++ 我可以直接与windows上的音频端点交互吗?

C++ 我可以直接与windows上的音频端点交互吗?,c++,windows,visual-studio,audio,C++,Windows,Visual Studio,Audio,我正在尝试编写一个专业音乐/音频处理应用程序,我希望能够以非常低的级别与音频输入/输出进行交互-理想情况下允许我将效果应用于音频输入并实时输出,类似于Logic、Ableton等程序 我已经编写了一个相当基本的程序,可以检测音频端点设备,并可以使用MMDevice接口更改它们的音量,但这远不是我想要的功能 我从Microsoft文档中了解到,四个核心音频API是: 毫米波装置 瓦萨皮 设备拓扑 端点体积 但似乎这些都没有我需要的能力。我在想,我需要能够在设定膜在给定时间的位置的水平上与扬声器

我正在尝试编写一个专业音乐/音频处理应用程序,我希望能够以非常低的级别与音频输入/输出进行交互-理想情况下允许我将效果应用于音频输入并实时输出,类似于Logic、Ableton等程序

我已经编写了一个相当基本的程序,可以检测音频端点设备,并可以使用MMDevice接口更改它们的音量,但这远不是我想要的功能

我从Microsoft文档中了解到,四个核心音频API是:

  • 毫米波装置
  • 瓦萨皮
  • 设备拓扑
  • 端点体积
但似乎这些都没有我需要的能力。我在想,我需要能够在设定膜在给定时间的位置的水平上与扬声器互动


这可能吗?如果是这样的话,我可以用什么来做呢?

这是最好的选择。它允许与音频端点进行交互,并设置音频流(即您可以实时发送或接收的数据流)。一个很好的例子是。

也许XAudio2做了你想做的事。现代操作系统几乎把所有人都拒之门外,无法直接访问底层硬件。其中一部分是自卫,当您能够获得系统控制级别时,许多讨厌的事情都可以完成,而很大一部分是将硬件中的差异抽象出来。如果你需要做一些不适合抽象的事情,你可能必须深入研究Windows驱动程序的秘密。通常,专业音频软件使用斯坦伯格的ASIO技术。您可以在网站上下载ASIO SDK。它是免费的,但附带一个许可协议,您必须签署。