-
Автор темы
- #1
Смотрел я значит скрины новой менюшки rifk 7 и заметил там радио, да и Nixer искал сурсы радио на крестах и вот что из этого получилось.
Теперь шансончик со мной не только в батиной шахе но и на хвх
P.S связи с наплывом пиндосов на югейм переведу через 2-3 дня(никогда)
так для начала нам надо взять либу для радио я погулил и взял
ВНИМАНИЕ ПОСЛЕ ЭТОГО НАДО БУДЕТ ИНЖЕКТИТЬ 2 ДЛЛ 1 САМ ПРОЕКТ И BASS.DLL
ВНИМАНИЕ bass.lib должна лежать в корне проекта (ну или подключай C/C++ => Общие => дополнительные каталоги включаемых файлов)
Теперь осталось только сделать окно с радио и всё
Вообще чтобы заставить bass работать нужны всего 3 строчки
и закинуть это всё в цикл
я засунул в рендер(нет фпс не сажает)
но нам надо выбор станций громкость и прочее говно так что в ход идет имгуи
тут собственно почти всё что нужно, единственное что я хотел сделать кнопку басбуста но там эквалайзер какой то геморройный так что я забил
Пожалуйста, авторизуйтесь для просмотра ссылки.
, всё как обычно, качаем, распаковываем, подключаемВНИМАНИЕ ПОСЛЕ ЭТОГО НАДО БУДЕТ ИНЖЕКТИТЬ 2 ДЛЛ 1 САМ ПРОЕКТ И BASS.DLL
Пожалуйста, авторизуйтесь для просмотра ссылки.
ВНИМАНИЕ bass.lib должна лежать в корне проекта (ну или подключай C/C++ => Общие => дополнительные каталоги включаемых файлов)
Теперь осталось только сделать окно с радио и всё
Вообще чтобы заставить bass работать нужны всего 3 строчки
Код:
BASS_Init(-1, 44100, BASS_DEVICE_3D, 0, NULL);
HSTREAM stream = BASS_StreamCreateURL(L"URL", 0, 0, NULL, 0);
BASS_ChannelPlay(stream, false);
я засунул в рендер(нет фпс не сажает)
но нам надо выбор станций громкость и прочее говно так что в ход идет имгуи
Код:
ImGui::Begin("Radio", &rOpen);
{
const wchar_t* stations[] = {
L"http://air.radiorecord.ru:8102/gop_320",
L"http://uk5.internet-radio.com:8270/",
L"http://airspectrum.cdnstream1.com:8018/1606_192",
L"http://us4.internet-radio.com:8193/stream",
L"http://ic2.101.ru:8000/v5_1",
L"http://ic2.101.ru:8000/v3_1",
L"http://icecast.russkoeradio.cdnvideo.ru:8000/rr_m.mp3",
L"http://nashe1.hostingradio.ru/nashe-128.mp3"
};
static int sel = 0;
static bool pause = false;
static bool radioInit = false;
if (!radioInit) {
BASS_Init(-1, 44100, BASS_DEVICE_3D, 0, NULL);
stream = BASS_StreamCreateURL(stations[0], 0, 0, NULL, 0);
radioInit = true;
}
static float vol = 0.1f;
BASS_ChannelSetAttribute(stream, BASS_ATTRIB_VOL, vol);
if (!pause)
{
BASS_ChannelPlay(stream, false);
}
ImGui::Text("Now Playing:");
ImGui::SameLine();
switch (sel)
{
case 0:
ImGui::Text("GopFM (HARDBASS but not all the time)");
break;
case 1:
ImGui::Text("HardStyle shit");
break;
case 2:
ImGui::Text("Oldies");
break;
case 3:
ImGui::Text("Chill");
break;
case 4:
ImGui::Text("Humor FM (Russian shit)");
break;
case 5:
ImGui::Text("AvtoRadio (Russian shit)");
break;
case 6:
ImGui::Text("Russkoe Radio (Russian shit)");
break;
case 7:
ImGui::Text("NASHE Radio (Russian shit)");
break;
default:
break;
}
if (ImGui::Button("<", ImVec2(32, 32)))
{
if (sel == 0)
sel = ARRAYSIZE(stations);
sel--;
BASS_ChannelPause(stream);
stream = NULL;
stream = BASS_StreamCreateURL(stations[sel], 0, 0, NULL, 0);
}
ImGui::SameLine();
if (ImGui::Button("Play/Pause", ImVec2(64, 32)))
{
pause = !pause;
BASS_ChannelPause(stream);
}
ImGui::SameLine();
if (ImGui::Button(">", ImVec2(32, 32))) {
sel++;
if (sel > ARRAYSIZE(stations) - 1)
sel = 0;
BASS_ChannelPause(stream);
stream = NULL;
stream = BASS_StreamCreateURL(stations[sel], 0, 0, NULL, 0);
}
ImGui::PushItemWidth(200);
ImGui::SliderFloat("Volume", &vol, 0.f, 1.f);
}
ImGui::End();
Последнее редактирование: