Viktor G.

Уютное место для моих идей

День рождения блога

Ура! Этому блогу ровно год!


Отметка о потоковом аудио Swift 5

Стандартный набор метаданных аудиоплеера в iOS включает в себя название и длительность, а блок в контрольной панели - кнопки play/pause, переключатель и громкость. Если речь идёт о потоковом аудио, следует поменять блок длительность на пометку "Live".


MIDI контроллер на Arduino

Гораздо раньше, чем я приобрёл старую версию Raspberry Pi, я купил небольшую плату на базе Arduino Uno. Поигравшись в электронику и схемотехнику, я отложил микроконтроллер на долгое время, не найдя ему практического применения. Ещё тогда я собрал на его основе контроллер, управляющий музыкальным софтом с помощью MIDI, но дальше 4 потенциометров дело не дошло.


История треков на радио (Icecast)

Добавляю функционал на радио. На этот раз задача простая: показывать историю треков.

Было легко найти скрипт, показывающий текущую песню, но вот найти такой для показа истории треков (последние N песен на радио) нет. Приходится делать самостоятельно:


Регулярная проверка радиостанции (Телеграм бот)

Что делать, если радио выключилось? Допустим, наш сервер работает как часы, а вот хост, который отправляет аудиопоток через Icecast, внезапно выключился. В моём случае это может быть вызвано, например, сбоями в сети у меня дома, где стоит Raspberry Pi, с которого играет музыка.


Icecast https (Nginx прокси)

Последней проблемой при установке и настройке радиостанции было отсутсвие https на контрольной панели, аудиопотоке и json-файлах с метаданными. Icecast автоматически устанавливается по адресу http://127.0.0.69:8000, а сам аудиопоток, соответственно, http://127.0.0.69:8000/listen.mp3

На дворе 2019 год, и любой современный браузер будет если не ругаться, то сообщать о небезопасном сайте, если подключение происходит без https, а значит при добавлении плеера с нашим аудиопотоком страница будет считаться небезопасной.

Решение оказалось проще, чем я думал - проксирование с помощью Nginx.