【发布时间】:2016-12-30 05:21:42
【问题描述】:
我知道这个旧线程:What APIs exist?,但它确实没有回答问题。而且已经有好几年了。是的,我正在使用 NAudio.CoreAudioApi 但我没有找到任何有用的信息。
MMDevice.Properties 是只读的。有没有办法在 C# 中以编程方式执行此操作?我不确定了。
您还可以通过以下方式找到频道: AudioEndpointVolumeChannels,但它只允许 Channels.count。
我想到的另一个解决方案是使用某种“宏”,它会随着鼠标点击动作而改变,但这很丑。
那个 NAudio API 应该有正确的东西,但我没有找到任何关于如何做到这一点的文档。我用谷歌搜索了一整天,一无所获。旧的 CoreAPI 被移到了那里。
using NAudio.Wave;
using NAudio.CoreAudioApi;
//Can't do anything with these Devices, but change the volume????!!!
var deviceEnum = new MMDeviceEnumerator();
var devices = deviceEnum.EnumerateAudioEndPoints(DataFlow.All, DeviceState.Active).ToList();
foreach (MMDevice device in devices)
{
Console.WriteLine(device.FriendlyName);
}
【问题讨论】:
-
你到底想配置什么?你能说得更具体些吗
-
我想将播放设备从 2CH 更改为 5.1。或将采样率从默认设置为 24 位、48000。我不确定上面引用的 NAudio 是否有工具。我尝试了其他几个 API,但文档很少,或者功能不存在。
标签: c# winapi audio audio-recording