C# Linux/OSX相当于windows PlaySound

C# Linux/OSX相当于windows PlaySound,c#,mp3,playback,C#,Mp3,Playback,由于缺少用于播放MP3文件的托管.NET api,我正在使用PlaySound(byte[])作为p/Invoke,它现在正在成功地播放MP3文件 由于许可证限制,我无法使用任何第三方库 现在,我想使用Mono将应用程序移植到Linux和OS X,但我不确定在这些平台上应该使用哪个p/Invokes 一个类似问题的答案是 您只需打开(“/dev/dsp”)并写入即可。我相信这是你能得到的“本地系统调用” 但我不知道如何在C中做到这一点# 谢谢。您需要将SDL_混音器库与SMPEG库一起使用,以获

由于缺少用于播放MP3文件的托管.NET api,我正在使用
PlaySound(byte[])
作为p/Invoke,它现在正在成功地播放MP3文件

由于许可证限制,我无法使用任何第三方库

现在,我想使用Mono将应用程序移植到Linux和OS X,但我不确定在这些平台上应该使用哪个p/Invokes

一个类似问题的答案是

您只需打开(“/dev/dsp”)并写入即可。我相信这是你能得到的“本地系统调用”

但我不知道如何在C中做到这一点#


谢谢。

您需要将SDL_混音器库与SMPEG库一起使用,以获得mp3支持。代码应该可以在所有操作系统中重复使用。

谢谢您的回答,但由于许可证限制,我不能使用任何第三方库。libsdl受GPL或zlib许可证的约束,具体取决于许可的版本,对于MP3,您必须使用库。您可以随时将它们转换为其他免费格式。