Статус CastApi не получен
У меня есть приемник для приведенных статусов:
private void setMessageReceiver() {
try {
Cast.CastApi.setMessageReceivedCallbacks(
mGoogleApiClient,
mRemoteMediaPlayer.getNamespace(),
this::handleMediaStatus
);
} catch (IOException e) {
Log.wtf("error", e.getMessage(), e);
}
}
И когда я снимаю аудио, аудио с изображением или видео - все нормально, я получаю статусы актеров. Однако, когда я разыгрываю только изображение, я не получаю статусы о завершении разыгрывания, только о простое (с idleReason=buffering). Я добавил запрос статуса следующим образом:
Cast.CastApi.requestStatus(mGoogleApiClient);
в моем состоянии простоя обработчик. Но это не работает.
Мое mediaInfo для изображения, которое я построил так:
MediaMetadata mMediaMetadata = new MediaMetadata(MediaMetadata.MEDIA_TYPE_PHOTO);
MediaInfo mediaInfo = new MediaInfo.Builder(media.getUrl())
.setContentType(media.getMimeType())
.setStreamType(MediaInfo.STREAM_TYPE_BUFFERED)
.setMetadata(mMediaMetadata)
.setStreamDuration(1000)
.build();
media
в этом случае мой обычай pojo с полями url
, mime-type
и некоторые другие поля. Для кастинга изображения я использовал image/jpeg
мим-типа. Итак, мой вопрос в том, что я делаю неправильно и почему я не получаю статус приведения с окончанием приведения изображения? И как это можно исправить?