C# NET跨平台音频库
要求:C# NET跨平台音频库,c#,.net,audio,microphone,C#,.net,Audio,Microphone,要求: 实时从麦克风获取原始输入 实时播放原始输入 我似乎从谷歌上找不到什么。有人用过这样的东西吗 我使用的是C#,它需要在Windows、Linux和Mac上工作,后两种是Mono 我可能愿意使用p/invoke,但我对本机代码不是特别熟悉,这将非常困难。如果有人能推荐一个本地库,我会试一试。BASS.NET应该是跨平台的mono,你可以用它来做你想做的事情,如下面的答案所示: 是一种新的.NET跨平台包装器,用于具有MIT许可证的un4seen Bass库。它不仅是包装器,还具有目标AP
- 实时从麦克风获取原始输入
- 实时播放原始输入
我可能愿意使用p/invoke,但我对本机代码不是特别熟悉,这将非常困难。如果有人能推荐一个本地库,我会试一试。BASS.NET应该是跨平台的mono,你可以用它来做你想做的事情,如下面的答案所示: 是一种新的.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.
}
}
以下是使用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();
}
}
}
我打赌这篇文章很快就会被关闭,因为stackoverflow的一些人倾向于认为这类文章是无用的,他们总是关闭这些文章,但我认为这很重要。我会投赞成票。C#SDL可能会工作,因为SDL可以跨mac windows和linux移植。不确定C#包装器是否适用于mono。我没有看到麦克风的支持。不过,谢谢。这是一个非常严格的许可证。我会记住这一点,但我更喜欢另一种选择。我为每个API添加了示例代码。不幸的是,这篇博文已经过时了。我建议使用Bass.Net,因为几乎没有任何关于ManagedBass的文档,而且由于依赖关系不明确,我无法运行它。