小编Ahm*_*zun的帖子

将麦克风输入定向到扬声器并使用CSCore库编写自定义DSP功能

CSCore(https://github.com/filoe/cscore)似乎是一个非常好的C#音频库,但它缺乏文档和很好的例子.

我一直在玩Bass.Net很长一段时间,CSCore的架构不像Bass库,所以很难找到正确的方法来完成一些常见的任务.

我正在尝试从WasapiCapture设备捕获麦克风输入并将记录的数据输出到WasapiOut设备,但我无法成功.

以下是我在谷歌搜索后可以找到的代码,但它不起作用.

MMDeviceEnumerator deviceEnum = new MMDeviceEnumerator();
MMDeviceCollection devices = deviceEnum.EnumAudioEndpoints(DataFlow.Capture, DeviceState.Active);

using (var capture = new WasapiCapture())
{
    capture.Device = deviceEnum.GetDefaultAudioEndpoint(DataFlow.Capture, Role.Multimedia);
    capture.Initialize();

    using (var source = new SoundInSource(capture))
    {
        using (var soundOut = new WasapiOut())
        {
            capture.Start();

            soundOut.Device = deviceEnum.GetDefaultAudioEndpoint(DataFlow.Render, Role.Multimedia);
            soundOut.Initialize(source);
            soundOut.Play();
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

我要做的是写一个像这样的应用程序:http: //www.pitchtech.ch/PitchBox/

我有自己的DSP功能,我想将其应用于记录数据.

有没有人有将WasapiCapture指向WasapiOut并编写自定义DSP的例子?

编辑:

我在CSCore库创建者Florian Rosmann(filoe)的帮助下找到了解决方案.

这是一个DSP类,它放大了提供的音频数据.

class DSPGain: ISampleSource
{
    ISampleSource _source;
    public DSPGain(ISampleSource source)
    {
        if (source == null)
            throw new ArgumentNullException("source");
        _source …
Run Code Online (Sandbox Code Playgroud)

c# audio wasapi cscore

8
推荐指数
1
解决办法
1395
查看次数

标签 统计

audio ×1

c# ×1

cscore ×1

wasapi ×1