создать приложение радио бесплатно

Как я создавал приложение для прослушивания интернет радио

Итак, доброго времени суток, дамы и господа! Сегодня мы рассмотрим историю о том, как я создавал приложение для прослушивания интернет радио.

Первая версия программы была сделана ужасно и выглядела так:

создать приложение радио бесплатно. image loader. создать приложение радио бесплатно фото. создать приложение радио бесплатно-image loader. картинка создать приложение радио бесплатно. картинка image loader.

Сделал её когда опыта программирования и знаний было немного очень мало. Программа написана на C#, проект типа Windows Forms. О существовании WPF я знал, но толком в нем не разбирался. Программа создана просто – перетаскал на форму PictureBox-ы, поставил кнопку Play/Pause, Label-ы, ListBox, а полосу регулирования громкости скачал с CodeProject, подключил библиотеку Windows Media Player.

Код приложения – это сплошные проверки “if”. Знаю, руки бы мне за такое оторвать! Например, событие происходящее при нажатии на кнопку Play:

if (isPlaying == true)
<
try
<
wmp.controls.stop();
MainButton.BackgroundImage = Properties.Resources.play;
isPlaying = false;
label1.Text = wmp.currentPlaylist.Item[0].name;
if (Properties.Settings.Default.Theme == «Orange»)
<
PlayState.BackgroundImage = Image.FromFile(«Skins/Orange/PlayingSmall_Playing.png»);
>
else if (Properties.Settings.Default.Theme == «Aqua»)
<
PlayState.BackgroundImage = Image.FromFile(«Skins/Aqua/PlayingSmall_Playing.png»);
>
else if (Properties.Settings.Default.Theme == «Red»)
<
PlayState.BackgroundImage = Image.FromFile(«Skins/Red/PlayingSmall_Playing.png»);
>
>
catch
<
MessageBox.Show(«Возникла непредвиденная ошибка.Отсутсвует интернет подключение.\nПроверьте интернет подключение или перезапустите приложение», «Ошибка»);
>
>
else if (isPlaying == false)
<
try
<
wmp.controls.play();
MainButton.BackgroundImage = Properties.Resources.pause;
isPlaying = true;
label1.Text = wmp.currentPlaylist.Item[0].name;
if (Properties.Settings.Default.Theme == «Orange»)
<
PlayState.BackgroundImage = Image.FromFile(«Skins/Orange/PlayingSmall_Pause.png»);
>
else if (Properties.Settings.Default.Theme == «Aqua»)
<
PlayState.BackgroundImage = Image.FromFile(«Skins/Aqua/PlayingSmall_Pause.png»);
>
else if (Properties.Settings.Default.Theme == «Red»)
<
PlayState.BackgroundImage = Image.FromFile(«Skins/Red/PlayingSmall_Pause.png»);
>
>
catch
<
MessageBox.Show(«Возникла непредвиденная ошибка.Отсутсвует интернет подключение.\nПроверьте интернет подключение или перезапустите приложение», «Ошибка»);
>
>

Или проверка изменения радиостанции:

try
<
if (RadioListView.SelectedItems[0].Text == «EuropaPlus»)
<
wmp.URL = «http://cast.radiogroup.com.ua:8000/europaplus»;
wmp.controls.play();
Properties.Settings.Default.LastRadio = «http://cast.radiogroup.com.ua:8000/europaplus»;
label1.Text = wmp.currentPlaylist.Item[0].name;
Properties.Settings.Default.Save();
>
else if (RadioListView.SelectedItems[0].Text == «Наше Радио»)
<
wmp.URL = «http://cast.radiogroup.com.ua:8000/nashe»;
wmp.controls.play();
Properties.Settings.Default.LastRadio = «http://cast.radiogroup.com.ua:8000/nashe»;
label1.Text = wmp.currentPlaylist.Item[0].name;
Properties.Settings.Default.Save();
>
……

Мало того код ужасный, плюс ещё имеется один большой недостаток, а именно, если какая-то радиостанция уйдёт в небытие, то её никак не убрать из программы, разве что подправить код и заново скомпилировать.

Но об этом я тогда даже не задумывался, так как радовался, что сделал, наверное, что-то стоящее и интересное.

Прошло некоторое время. Я учился программировать, экспериментировал. Очередной раз, когда задался вопросом «что бы ещё программировать?» я наткнулся на проект этого убогого радио и решил, что надо переписать программу надо сделать версию получше.

Создал новый проект Windows Forms. Поставил на форму кнопку, пару Label-ов, TabControl, ListBox, тот же самый Slider. Добавил новое окно настроек. Воспроизведение происходит по-прежнему с помощью библиотеки Windows Media Player.

Теперь уже событие клика кнопки Play/Pause выглядит так:

if (!isPlaying)
<
play.BackgroundImage = Properties.Resources.play;
isPlaying = true;
player.controls.pause();
>
else if (isPlaying)
<
play.BackgroundImage = Properties.Resources.pause;
isPlaying = false;
player.controls.play();
>

Загрузка радиостанций идёт из xml файла. То есть теоретически каждый желающий сможет добавить неограниченное количество радиостанций. Структура xml файла:

EuropaPlus
Наше Радио
Premium
EuropaPlus2
RRadio
Kazantip
Kiss FM
Radio Record
Horizon FM
Best FM
Abc Christmas

А вот и код который загружает радиостанции в ListBox:

string fileName = «stations.xml»;

public void LoadStations()
<
if (File.Exists(fileName))
<
XmlDocument xmlDoc = new XmlDocument();
xmlDoc.Load(fileName);
XmlNodeList stationNodes = xmlDoc.SelectNodes(«//stations/station»);
foreach (XmlNode stationNode in stationNodes)
<
string name = stationNode.InnerText;
//FullList – это listbox
FullList.Items.Add(name);
>
xmlDoc.Save(fileName);
>
else
<
MessageBox.Show(«Не найдены радиостанции.Увы мой господин.\nНе судьба!Загрузите их с сайта разработчика или переустановите программу.»);
>
>

Вот что в итоге получилось:

создать приложение радио бесплатно. image loader. создать приложение радио бесплатно фото. создать приложение радио бесплатно-image loader. картинка создать приложение радио бесплатно. картинка image loader.

Этому результату я был очень рад.

Опять пролетело какое-то время. Я научился делать приложения для Windows Phone и, соответственно, уже понимал что-то в WPF.
И вот теперь наступает, на мой взгляд, самая интересная часть этой статьи.

Совсем недавно я встретил программу плеер VK – Meridian. Дизайн этой программы мне очень понравился. И тут я задался вопросом: «Почему бы не сделать программу Radio с таким же дизайном, ну или хотя бы что-то подобное?». К тому же был выложен исходник этой программы, которую я попытался изучить. Но сначала ничего дельного из этого не вышло. Пришлось искать. Поискав в google, наткнулся на статью на хабре. Скачал проект.

Создал новый проект WPF. Для приведения окна в желаемый вид добавил в проект скачанные файлы и привязал стиль к главному окну приложения. Поменял цвет окна, расположение значка, добавил новую кнопку “always on top” и вот что в итоге получилось:

создать приложение радио бесплатно. image loader. создать приложение радио бесплатно фото. создать приложение радио бесплатно-image loader. картинка создать приложение радио бесплатно. картинка image loader.

Для того, чтобы приложение было удобным и функциональным, решил разделить главное окно на 3 части. В первой части будут типы радиостанций, во второй список радиостанций относящиеся к определенному типу и, наконец, в третьей части будет логотип радиостанции. Стиль кнопки play/pause, volume, settings, listbox и scrollbar взял из исходников того самого Meridian Vk player.

После долгих мучений был получен такой код:

Источник

Как мы сделали приложение онлайн-радио для Android

создать приложение радио бесплатно. 1432510137 1601846862. создать приложение радио бесплатно фото. создать приложение радио бесплатно-1432510137 1601846862. картинка создать приложение радио бесплатно. картинка 1432510137 1601846862.

создать приложение радио бесплатно. m2793801 1680086216. создать приложение радио бесплатно фото. создать приложение радио бесплатно-m2793801 1680086216. картинка создать приложение радио бесплатно. картинка m2793801 1680086216.

Ответ на пост «Не знал что погода так много весит»

Из цикла «Прилетают как-то инопланетяне», 1996-2017

Прилетают как-то инопланетяне.

И тут я не нашел, что им ответить.

создать приложение радио бесплатно. 1635867915231220070. создать приложение радио бесплатно фото. создать приложение радио бесплатно-1635867915231220070. картинка создать приложение радио бесплатно. картинка 1635867915231220070.

создать приложение радио бесплатно. m1112109 1323386138. создать приложение радио бесплатно фото. создать приложение радио бесплатно-m1112109 1323386138. картинка создать приложение радио бесплатно. картинка m1112109 1323386138.

создать приложение радио бесплатно. 16205628112974303. создать приложение радио бесплатно фото. создать приложение радио бесплатно-16205628112974303. картинка создать приложение радио бесплатно. картинка 16205628112974303.

Рассказ о разработке 4x стратегии

Всем привет. Мы ведем разработку пошаговой стратегии командой энтузиастов и недавно посетили выставку разработчиков, после которой нас пригласили на ряд интервью. Хотелось поделиться рассказом о нашем проекте и устройстве команды с сегодняшнего стрима у xyz. Может нашим подписчикам будет интересно)

Для тех, кто не смотрит видео оставлю общее описание тут:

Более подробное описание:

История мира заключается в постоянном противоборстве его населения с высшими силами, пытающимися этот мир уничтожить. Именно этим объясняется сессионность и реиграбельность проекта. В каждой новой партии вы начинаете, по сути, за остатки цивилизаций, уничтоженных в предыдущих циклах существования мира. Многие уже забыли, кто они, но в ходе игры столкнутся с теми же проблемами, что их прародители. Не вдаваясь в подробности и первопричины, о которых будет рассказано в игре, сейчас можно открыть, что существует ряд катаклизмов, один из которых может уничтожить все живое на планете.

Задача игрока, помимо классических действий для 4X, будет заключаться в предвосхищении событий, подготовке и нахождению одного из способов пережить подобные потрясения. Ну а в качестве бонуса однажды в новой сессии можно будет встретить руины своей же бывшей цивилизации и спрятанные там подсказки. Таким образом, эти события отражаются и на игроках, и на мире игры, включая животных и монстров, которые существуют в достаточном количестве. В конечном итоге, ваша фракция либо совершит технологический скачек в одном из трех направлений (магия, технологии или военное дело), либо будет уничтожена, как и во всех предыдущих циклах.

Если рассматривать проект глобально, то наиболее уникальным является влияние действий и принятых решений игрока на свою фракцию. У вас нет заранее подготовленных пресетов, вы вольны пойти в любую часть карты и начать строить там свое любимое королевство, а в случае изменения условий, начать меняться под них. Например, если вы уже пошли в стимпанк-развитие, то на чём будет ездить ваша ратуша, на гусеницах или на колёсах? Будет ли она работать на угле или электричестве? И на всё это с самого начала оказывает дополнительное влияние регион, в котором вы поселились.

Менее глобальные особенности связаны с героями и юнитами. Первые обладают комбинируемыми классами, имеют систему взаимоотношений между собой, от которых зависят доступные действия на карте. Вплоть до того, что герои из противоборствующих фракций, будучи друзьями, не будут вступать в бой между собой. Или помогать в нейтральных сражениях. И наоборот.

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *