Библиотека BASS не сложная, тем более, она работает на всех распространенных платформах. Напишите свою обёртку, там нет ничего сложного. Вот пример:
!ALERT! На C# я кодил только hello world'ы лет 10 назад, поэтому не знаком практически с .NET, но знаком с данной библиотекой. Данный пример нужно переработать, так как я тупо все параметры, кроме string и bool грубо сделал int. Данный пример только что сделал в .Net 6 на Linux. Поэтому вам нужно в папку с исполняемым файлом кинуть библиотеку BASS для своей платформы.
using System.Runtime.InteropServices;
class MyApp
{
[DllImport ("bass.so")]
// BOOL BASS_Init(int device, DWORD freq, DWORD flags, HWND win, void *clsid);
public static extern int BASS_Init(int device, int freq, int flags, int win, int clsid);
[DllImport ("bass.so")]
// HSTREAM BASS_StreamCreateURL(char *url, DWORD offset, DWORD flags, DOWNLOADPROC *proc, void *user );
public static extern int BASS_StreamCreateURL(String url, int offset, int flags, int proc, int user );
[DllImport ("bass.so")]
// int BASS_ErrorGetCode();
public static extern int BASS_ErrorGetCode();
[DllImport ("bass.so")]
// BOOL BASS_ChannelPlay(DWORD handle, BOOL restart);
public static extern bool BASS_ChannelPlay(int handle, bool restart);
[DllImport ("bass.so")]
// BOOL BASS_ChannelSetAttribute(DWORD handle, DWORD attrib, float value);
public static extern bool BASS_ChannelSetAttribute(int handle, int attrib, float value);
static void Main()
{
int bass_init = BASS_Init(-1,44000,0,0,0); // Инициализируем библиотеку BASS;
int hstream = BASS_StreamCreateURL("https://online.rusradio.ua/RusRadio",0,0,0,0); # Создаем поток из url;
BASS_ChannelSetAttribute(hstream, 2, 0.1f); // Устанавливаем громкость. 3 параметр громкость в float, 1f = 100%, 0.1f = 10%
// int err = BASS_ErrorGetCode(); // Функция для получения кода ошибки. Коды ошибок в bass.chm
// Console.WriteLine(err.ToString());
BASS_ChannelPlay(hstream, false); // Запускаем проигрование потока
Console.Read(); // Без этой строки консольное окно сразу закроется и программа завершится.
}
}
В файле bass.chm содержится все описания функций, структур, кодов ошибок, и т.д.
PS: У меня где-то была переведенная документация на русский по данной библиотеке. Если надо, напишите, я поищу.