Когато предавам видео от телефон с Android към устройство Chromecast, искам да добавя допълнителни полета за собственото си приложение. Но когато получа това поле от API (VideoCastManager.getRemoteMediaInformation()
). Винаги връща null за String, нула за int.
Тук използвам друго поле е MediaMetadata.KEY_ARTIST
:
MediaMetadata movieMetadata = new MediaMetadata(MediaMetadata.MEDIA_TYPE_MOVIE);
movieMetadata.putString(MediaMetadata.KEY_TITLE, video.getFullName());
movieMetadata.putString(MediaMetadata.KEY_ARTIST, String.valueOf(video.getId()));// video ID
movieMetadata.addImage(new WebImage(Uri.parse(video.getThumbnail())));
mSelectedMedia = new MediaInfo.Builder(link)
.setStreamType(MediaInfo.STREAM_TYPE_BUFFERED)
.setContentType("video/mp4")
.setMetadata(movieMetadata)
.build();
mCastManager.loadMedia(mSelectedMedia, true, position);
Но когато получа това поле, то винаги връща нула
MediaInfo mediaInfo = mCastManager.getRemoteMediaInformation();
MediaMetadata md = mediaInfo.getMetadata();
String title = md.getString(MediaMetadata.KEY_TITLE));
String videoID = md.getString(MediaMetadata.KEY_ARTIST);// always return null;
Работи само с тези полета: KEY_TITLE, KEY_STUDIO, KEY_SUBTITLE. Може ли някой да ми обясни това? Благодаря.
P/S: За мен предполагам, че класът MovieMetaDta( MediaMetadata(MediaMetadata.MEDIA_TYPE_MOVIE)
) има само 3 горни полета.