11

要求:

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

我似乎无法从谷歌搜索中找到太多关于它的信息。有没有人用过这样的东西?

我正在使用 C#,它需要在 Windows、Linux 和 Mac 上工作,后两者使用 Mono。

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

4

2 回答 2

4

ManagedBass是新的 .NET 跨平台包装器,用于具有 MIT 许可证的 un4seen Bass 库。它不仅是包装器——它还有客观的 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.
    }
}

使用目标 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();
        }
    }
}
于 2016-05-14T20:58:45.057 回答
2

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

http://bass.radio42.com/

于 2013-03-30T02:38:45.967 回答