要求:
我似乎从谷歌搜索中找不到多少。有没有人用过这样的东西?
我正在使用C#,它需要在Windows,Linux和Mac上运行,后两者需要使用Mono。
我可能愿意使用p / invoke,但我对本机代码并不是特别熟悉,而且很难。如果有人可以推荐本地图书馆,我会试一试。
答案 0 :(得分:3)
ManagedBass是具有MIT许可证的un4seen Bass库的新.NET跨平台包装器。它不仅是包装器 - 它还具有客观的API。请查看this博文。
以下是使用包装器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();
}
}
}
答案 1 :(得分:1)
BASS.NET应该是单声道的跨平台,你可以做你想要的使用它,就像在这个答案中所说:https://stackoverflow.com/a/6796571/2208058