Гайд Radio

Начинающий
Начинающий
Статус
Оффлайн
Регистрация
24 Авг 2016
Сообщения
45
Реакции
82
Смотрел я значит скрины новой менюшки rifk 7 и заметил там радио, да и @Nixer искал сурсы радио на крестах и вот что из этого получилось.
Теперь шансончик со мной не только в батиной шахе но и на хвх
так для начала нам надо взять либу для радио я погулил и взял
Пожалуйста, авторизуйтесь для просмотра ссылки.
, всё как обычно, качаем, распаковываем, подключаем
ВНИМАНИЕ ПОСЛЕ ЭТОГО НАДО БУДЕТ ИНЖЕКТИТЬ 2 ДЛЛ 1 САМ ПРОЕКТ И BASS.DLL
Пожалуйста, авторизуйтесь для просмотра ссылки.

ВНИМАНИЕ bass.lib должна лежать в корне проекта (ну или подключай C/C++ => Общие => дополнительные каталоги включаемых файлов)

Теперь осталось только сделать окно с радио и всё
Вообще чтобы заставить bass работать нужны всего 3 строчки
Код:
Expand Collapse Copy
BASS_Init(-1, 44100, BASS_DEVICE_3D, 0, NULL);
HSTREAM stream = BASS_StreamCreateURL(L"URL", 0, 0, NULL, 0);
BASS_ChannelPlay(stream, false);
и закинуть это всё в цикл
я засунул в рендер(нет фпс не сажает)
но нам надо выбор станций громкость и прочее говно так что в ход идет имгуи
Код:
Expand Collapse Copy
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();
тут собственно почти всё что нужно, единственное что я хотел сделать кнопку басбуста но там эквалайзер какой то геморройный так что я забил
P.S связи с наплывом пиндосов на югейм переведу через 2-3 дня(никогда)
 
Последнее редактирование:
Что делать?
Подключил вроде все правильно
C3xEBNx.png

Пробовал закидывать либу в корень проекта;
Также пытался инклюдить ее через доп каталоги.
 
Последнее редактирование:
Вроде бы все получилось.
Но проблема в другом:
Не реагирует на кнопки

upd: Все фиксанул, теперь все работает как нужно.
@Camisul выражаю огромную благодарность! очень хотел себе это радио <3
 
Последнее редактирование:
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
вот без порно графии
ImGui::Combo(u8("станция"), &sel, stations, IM_ARRAYSIZE(stations));
 
Вроде бы все получилось.
Но проблема в другом:
Не реагирует на кнопки
посмотрел на быстрый глаз проблема вроде тут

Пожалуйста, зарегистрируйтесь или авторизуйтесь, чтобы увидеть содержимое.

 
вот без порно графии
ImGui::Combo(u8("станция"), &sel, stations, IM_ARRAYSIZE(stations));
 

посмотрел на быстрый глаз проблема вроде тут
Еще круче, теперь при переходе на некст радио - играет сразу несколько :CoolStoryBob::seemsgood:
 
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Зачем пихать все в один цикл? Делаешь новый поток, в нем делаешь цикл
 
Хм,столкнулся с этим,подключение <system_erorr> не помогло..
(скрин)
Пожалуйста, авторизуйтесь для просмотра ссылки.
 
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Ля, сейчас в каждом втором пСофте будет это *бучее радио... (
P.S. По теме: why not не сделать проигрывание звуков mp3 из определённой директории... Некий полноценный треклист в который юзер сам указывает директорию
 
Еще круче, теперь при переходе на некст радио - играет сразу несколько :CoolStoryBob::seemsgood:
Отследи обновление выбраной станции, останови поток, обнули, и запускай с новым url
Код:
Expand Collapse Copy
If(oldSel != sel){
BASS_ChannelPause(stream);
                    stream = NULL;            stream=BASS_StreamCreateURL(stations[sel], 0, 0, NULL, 0);
 }
 
Ля, сейчас в каждом втором пСофте будет это *бучее радио... (
P.S. По теме: why not не сделать проигрывание звуков mp3 из определённой директории... Некий полноценный треклист в который юзер сам указывает директорию
Это не очень сложно сделать, но я на компе музыку не держу, да и они и те же треки по 100500 раз слушать бесит
 
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
или я даун или не могу подключить .lib, помогите(
 
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Ля, сейчас в каждом втором пСофте будет это *бучее радио... (
P.S. По теме: why not не сделать проигрывание звуков mp3 из определённой директории... Некий полноценный треклист в который юзер сам указывает директорию
А еще лучше персер музыки с вк, с возможностью воспроизведения в чат
 
А еще лучше персер музыки с вк, с возможностью воспроизведения в чат
ВК закрыли аудио апи держу в курсе, есть идея прикрутить deezer но за него надо денег платить, можно кстати попробовать soundcloud
 
Последнее редактирование:
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Он работает?
 
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Дикая херь, но прикольная - лайк.
 
Назад
Сверху Снизу