Как обновить Chromecast MediaMetadata во время радиопотока? - PullRequest
0 голосов
/ 30 августа 2018

Недавно я добавил возможность (chrome) транслировать радиопоток (аудио / aac) из моего приложения для радио Android. Первоначальное литье работает как ожидалось; поток начинает воспроизводиться на выбранном устройстве Chromecast, и предоставленные мною MediaMetadata отображаются в Cast Dialog и, если транслируются на телевизор или монитор, на экране через приложение приемника.

Когда я первоначально транслирую поток, я предоставляю MediaMetadata текущей воспроизводимой дорожки. В моем приложении для Android есть служба, которая может уведомлять меня об изменении дорожки и отправлять обновленные метаданные. Проблема, с которой я столкнулся, заключается в том, что я пытаюсь найти способ уведомить устройство Chromecast об этом обновлении, чтобы телевизор обновлял метаданные трека, показывал правильный заголовок / исполнителя и иллюстрацию. Единственный частичный, хакерский способ сделать это до сих пор - это снова вызвать RemoteMediaClient.load с той же информацией о потоке и обновленными MediaMetadata. Этот подход неприемлем, поскольку он вызывает перезагрузку потока, временно останавливая воспроизведение. В RemoteMediaClient я не вижу методов, позволяющих просто обновить MediaMetadata.

Единственный другой пост, который я могу найти здесь, который в некоторой степени связан с этим, - , этот , однако ему уже 4 года, и он ссылается на более старую версию SDK, которая с тех пор устарела.

Я почти уверен, что желаемая функциональность возможна, поскольку я видел такое поведение в других радиоприложениях, которые включают функцию Chromecast.

...