Я просто пытаюсь показать миниатюру изображения, которое в данный момент воспроизводится на Chrome, с помощью моего приложения для отправки Android.Отображается в полноэкранном режиме блокировки, но теперь отображается на изображении панели уведомлений и на изображении уведомления на экране блокировки. В настоящее время заголовок обновляется в соответствии с текущим видео, воспроизводимым на Chrome-Cast, но изображение не загружается.
Это будетздорово, если кто-нибудь решит мою проблему.Спасибо заранее.

Мой код Android ниже:
if (!TextUtils.isEmpty(imageUrl)) {
videoMetadata.addImage(new WebImage(Uri.parse("https://commondatastorage.googleapis.com/gtv-videos-bucket/CastVideos/images/480x270/DesigningForGoogleCast2-480x270.jpg")));
videoMetadata.addImage(new WebImage(Uri.parse("https://commondatastorage.googleapis.com/gtv-videos-bucket/CastVideos/images/780x1200/DesigningForGoogleCast-887x1200.jpg")));
}
MediaInfo mediaInfo = null;
if (videoMetadata != null) {
mediaInfo = new MediaInfo.Builder(videoUrl)
.setStreamType(MediaInfo.STREAM_TYPE_BUFFERED)
.setContentType("videos/mp4")
.setMetadata(videoMetadata)
.build();
arlMediaItem.add(new MediaQueueItem.Builder(mediaInfo).build());
}
resultPendingResult = getRemoteMediaClient().queueLoad(getArrayFromList(arlMediaItem)
, starPos, MediaStatus.REPEAT_MODE_REPEAT_OFF, null);
if (resultPendingResult != null)
resultPendingResult.setResultCallback(new ResultCallback<RemoteMediaClient.MediaChannelResult>() {
@Override
public void onResult(@NonNull RemoteMediaClient.MediaChannelResult mediaChannelResult) {
switch (mediaChannelResult.getStatus().getStatusCode()) {
case RemoteMediaClient.STATUS_FAILED:
break;
case RemoteMediaClient.RESUME_STATE_PAUSE:
break;
case RemoteMediaClient.RESUME_STATE_PLAY:
break;
}
}
});
CastOptionsProvider
public class CastOptionsProvider implements OptionsProvider {
static String TAG = CastOptionsProvider.class.getSimpleName();
@Override
public CastOptions getCastOptions(Context context) {
NotificationOptions notificationOptions = new NotificationOptions.Builder()
.setActions(Arrays.asList(
MediaIntentReceiver.ACTION_TOGGLE_PLAYBACK,
MediaIntentReceiver.ACTION_STOP_CASTING), new int[]{0,1})
.setTargetActivityClassName(AdvancedVideoPlayerActivity.class.getName())
.build();
CastMediaOptions mediaOptions = new CastMediaOptions.Builder()
.setImagePicker(new ImagePickerImpl())
.setNotificationOptions(notificationOptions)
.setExpandedControllerActivityClassName(AdvancedVideoPlayerActivity.class.getName())
.build();
return new CastOptions.Builder()
.setReceiverApplicationId(CastMediaControlIntent.DEFAULT_MEDIA_RECEIVER_APPLICATION_ID)
.setCastMediaOptions(mediaOptions)
.build();
}
@Override
public List<SessionProvider> getAdditionalSessionProviders(Context context) {
return null;
}
private static class ImagePickerImpl extends ImagePicker {
@Override
public WebImage onPickImage(MediaMetadata mediaMetadata, ImageHints imageHints) {
if ((mediaMetadata == null) || !mediaMetadata.hasImages()) {
return null;
}
List<WebImage> images = mediaMetadata.getImages();
if (images.size() == 1) {
return images.get(0);
} else {
if (imageHints.getType() == ImagePicker.IMAGE_TYPE_MEDIA_ROUTE_CONTROLLER_DIALOG_BACKGROUND) {
return images.get(0);
} else {
return images.get(1);
}
}
}
}
}