适用于.NET的跨平台音频库

Dre*_*ult 10 .net c# audio microphone

要求:

  • 实时从麦克风获取原始输入
  • 实时播放原始输入

我似乎无法从谷歌搜索到这一点.有没有人用过类似的东西?

我正在使用C#,它需要在Windows,Linux和Mac上运行,后两者需要使用Mono.

我可能愿意使用p/invoke,但我对本机代码并不是特别熟悉,而且很难.如果有人可以建议一个本地图书馆,我会试一试.

cze*_*sio 6

ManagedBass是具有 MIT 许可证的 un4seen Bass 库的新 .NET 跨平台包装器。它不仅仅是包装器——它还有客观的 API。看看这篇博文。

以下是使用包装器 API 播放文件的示例:

using ManagedBass;

class Program
{
    static void Main()
    {
        Bass.Init(); // Initialize with default options.

        int handle = Bass.CreateStream("YOUR_FILE.mp3");

        Bass.ChannelPlay(handle); // Begin Playback.

        Console.ReadKey(); // Wait till user presses a Key.

        Bass.ChannelStop(handle); // Stop Playback.

        Bass.ChannelFree(handle); // Free the Stream.

        Bass.Free(); // Free the device.
    }
}
Run Code Online (Sandbox Code Playgroud)

使用 Objective API 也是如此:

using ManagedBass;

class Program
{
    static void Main()
    {
        using (var Player = new MediaPlayer()) // Create a Player.
        {
            Player.Load("YOUR_FILE.mp3"); // Load a file.

            Player.Start(); // Begin Playback.

            Console.ReadKey();
        }
    }
}
Run Code Online (Sandbox Code Playgroud)


Rob*_*b G 2

BASS.NET 应该是单声道跨平台的,你可以使用它来做你所要求的事情,就像这个答案一样: https: //stackoverflow.com/a/6796571/2208058

http://bass.radio42.com/