У меня была такая же проблема .... и я нашел причину того, как я создавал свой объект MediaMetaData в коде приложения моего отправителя.
Построение объекта MediaMetadata в коде приложения приемника с константой MediaMetadata.MEDIA_TYPE_MOVIE (как это сделано в примере CastCompanionLibrary) не позволит вам хранить что-либо с помощью .putString (ключ, значение), кроме как с помощью ключей MediaMetadata. KEY_TITLE и MediaMetadata.KEY_SUBTITLE.
Вот что я нашел ....
Поскольку я играю видео на Chromecast, я предположил, что лучший способ построить объект MediaMetadata, чтобы использовать константу MediaMetadata.MEDIA_TYPE_MOVIE следующим образом:
MediaMetadata castMetaData = new MediaMetadata(MediaMetadata.MEDIA_TYPE_MOVIE);
Затем .... Я попытался отправить следующие данные с объектом MediaMetadata:
castMetaData.putString(MediaMetadata.KEY_TITLE,"videoTitle");
castMetaData.putString(MediaMetadata.KEY_SUBTITLE,"videoSubTitle");
castMetaData.putString(MediaMetadata.KEY_ARTIST,"videoArtistName");
После отправки этого MediaMetadata объекта на ПРИЕМ э (обеспечение того, чтобы все три КЛЮЧЕЙ и соответствующие им значения были-тактичность) и видео начало играть, я попытался вызовом для извлечения метаданных видео-ролика от приемника с:
MediaMetadata receiverMetadata = videoCastManager.getRemoteMediaInformation().getMetaData();
Возвращаемых объектом MediaMetadata, но сопоставление MediaMetadata.KEY_ARTIST не было, где можно найти.
После изменения MediaMetadata построить параметр для MediaMetadata.MEDIA_TYPE_GENERIC как так что я был в состоянии послать больше метаданных в объекте MediaMetadata:
MediaMetadata castMetaData = new MediaMetadata(MediaMetadata.MEDIA_TYPE_GENERIC);
Примечание Я не знаю, если строительство объекта MediaMetadata с MediaMetadata.MEDIA_TYPE_GENERIC в порядке, когда актуальной задачей является воспроизведение видео.
Извините, я не должен был сокращать, VideoCastManager. Поэтому в основном я хочу помещать любые данные, которые я хочу туда, а затем хочу, чтобы их можно было восстановить при повторном подключении с конца отправителя, а не в конец приемника. – casolorz
после того, что я упомянул, вы не получаете их? –
Мне нужно будет снова протестировать, но в основном я могу вызвать 'putString (« test »,« test »)', затем воспроизвести файл фильма, закрыть приложение, снова открыть его, снова подключить, вызвать 'videoCastManager.getRemoteMediaInformation()' и получить метаданные, а затем сделать 'getString', и он равен нулю.В отладчике я вижу, что в метаданных есть только «com.google.android.gms.cast.metadata.TITLE», который является единственным другим значением, которое я устанавливаю. – casolorz