Музыкальные проекты

Навигация по проекту

1
new album
COMING SOON
2
album release
ALIENATION
3
single release
WORST WAY
4
album release
TOTAL INSANE
5
album release
STEEL HARBOUR
stat
creating status
PLANNING
about
Project info
ABOUT

четверг, 25 июня 2026 г.

Большая техническая победа.

Уффф... многовато времени я потратил на это дело, но мне удалось подружить Google Blogger и iBroadcast. Если вдруг решите этот номер повторить - лучше передумайте. Если коротко, то схема выглядит вот так:
- в самом сервисе iBroadcast создано "приложение" с доступами. У приложения установлен доступ "device_code", без этого не работало.
- на базе Google Script написан на местном варианте js небольшой сервис, который делает три вещи (я функции физически разделил на три модуля для удобства), в ручном режиме получает первичный доступ (токен), в автоматическом режиме этот самый доступ обновляет, держа его всегда актуальным, ну и отвечает на специфический запрос по id альбома выдачей плейлиста с названиями, артистом, альбомом, обложкой и стриминговыми ссылками.
- на все том же js написан плеер для Google Blogger. За исключением взаимодействия с iBroadcast, это было самым простым делом. Интерфейс редактируется в css, который я плюс-минус изучил еще работая над сайтом. js похож на знакомый мне java, хоть и не везде, и не во всем. До сих пор в шоке с почти полного отсутствия типизации в нем. Притом, что в java эта типизация очень строгая.
А вот взаимодействие с iBroadcast потребовало даже немного переломать механизмы плеера. Дело в том, что по современным стандартам разработки длительные процессы, вроде ожидания реакции на запрос, не должны блокировать загрузку всей страницы. И хотя на тестовом примере плейлист прогружается довольно быстро, это все равно происходит не мгновенно. Ну и как-то не принято сейчас заставлять браузер ждать.
Пришлось поломать голову, как это все провернуть, чтобы работало. И по итогу, я сделал загрузку основной части скрипта без плейлиста (и даже заменил "шаблонные" надписи, т.к. они теперь стали видны во время загрузки плейлиста). А уже потом, на окончание этой загрузки я повесил "трансляцию" плейлиста в основной скрипт и последующую его обработку (визуальное отображение треков, загрузку первого трека).
Смешно и обидно получилось при первом успешном запуске этого всего. Загрузились названия песен, картинки, все прекрасно. Нажимаю "проиграть" - а в ответ тишина. Меня в этот миг прям порвало, т.к. куча сил и времени потрачена, а результат такой же, как и с Google Drive?? Немного перекопал и оказалось, что неверно указал имя поля для ссылки. Ну и по итогу ссылка была пустая. Уточнил это имя еще раз в проекте на GAS (Google App Script), переправил - и наконец-то музыка таки заиграла.
Я тут вот о чем подумал. А если бы я не владел программированием и для меня все эти моменты с кодом были бы темным лесом? Неужели пришлось бы публиковаться во всяких третьесортных соцсетях? Ну да ладно. Главное, что получилось, да еще и новых навыков обрел пачку.

Комментариев нет:

Отправить комментарий