要求:
- 实时从麦克风获取原始输入
- 实时播放原始输入
我似乎无法从谷歌搜索中找到太多关于它的信息。有没有人用过这样的东西?
我正在使用 C#,它需要在 Windows、Linux 和 Mac 上工作,后两者使用 Mono。
我可能愿意使用 p/invoke,但我对本机代码并不是特别熟悉,而且会很困难。如果有人可以建议一个本地库,我会试一试。
要求:
我似乎无法从谷歌搜索中找到太多关于它的信息。有没有人用过这样的东西?
我正在使用 C#,它需要在 Windows、Linux 和 Mac 上工作,后两者使用 Mono。
我可能愿意使用 p/invoke,但我对本机代码并不是特别熟悉,而且会很困难。如果有人可以建议一个本地库,我会试一试。
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();
}
}
}
BASS.NET 应该是单声道的跨平台,你可以使用它来做你要求的事情,如这个 SO 答案:https ://stackoverflow.com/a/6796571/2208058