Проигрывание интернет-радио
Оставил задачу репликации функционала радио на самый последний этап (до выхода первой беты). Если кто не понимает, что тут происходит, ровным счетом, происходит то, что я пытаюсь воспроизвести функционал AIMP в нативном приложении под MacOS. И в этот раз я взялся за перенос функционала воспроизведения радиостанций и "их записи" - всё как в AIMP, все как вы и я любите ))
Вообще, до того как я переехал полностью на Mac с винды, последние несколько лет основной функционал который я использовал в AIMP - это было прослушивание и "запись" интернет-радио. Поэтому воспроизвести весь функционал катательно радио, для меня стало некой отдушиной и предвкушением того, что я продолжу этим заниматься и дальше под маком так, как я привык ))).
Сейчас я пишу этот пост, слушая свою любимую радиостанцию TechnoBase.FM в своем же плейере ))
В общем функционал воспроизведения полностью идентичны тому, как это работает в AIMP (прямые HTTP/HTTPS-радиопотоки, ICY/Shoutcast-потоки, Icecast-потоки) включая парсинг: icy-name, icy-genre, icy-br, icy-url, icy-metaint и т.д, ну, в общем, не отличить от AIMP ))
Единственное, что не хватает: для многих радиостанций, которые AIMP проигрывает, он отображает ещё и обложки. Мой плейер отображает обложки, если их передают в хедере. Функционал: "сходить за обложкой в другое место по названию трека" - будет когда-то чуть позже )
Ну и без первичной реализации функционала записи потока не хотелось бы выпускать первую бету-версию. Поэтому функционал записи без перекодирования я реализовал в полном объеме сохраняя ровно те байты, которые пришли от станции - без раскодирования и без повторного сжатия. Функционал с перекодированием запилю когда-нибудь чуть позже. Там, в принципе, не особо долго.
В общем, как обычно, видео-демо ролик.
И, кстати, это последний пост связаный со звуком и музыкой до выхода беты. Дальше пойдут посты немножко другого характера)