Добавяне на повече полета в MediaMetada GoogleCast

Когато предавам видео от телефон с 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 горни полета.


person Huy Duong Tu    schedule 24.03.2014    source източник


Отговори (1)


Най-лесно за вас би било да използвате полето customData на обекта MediaInfo.

person Ali Naddaf    schedule 24.03.2014