Chromecast не возобновляет работу после паузы с ошибкой 2100
Недавно я обновил свое приложение со старой CastCompanionLibrary на Chromecast SDK3, и хотя воспроизведение и поиск работают нормально, я не могу возобновить воспроизведение после паузы. Я регистрирую ошибку следующим образом
player.play().setResultCallback(new ResultCallbacks<RemoteMediaClient.MediaChannelResult>() {
@Override
public void onSuccess(@NonNull RemoteMediaClient.MediaChannelResult mediaChannelResult) {
Log.d("cast", "SUCCESS");
}
@Override
public void onFailure(@NonNull Status status) {
Log.d("cast", "FAILURE "+status.getStatusMessage());
}
});
Причина отказа всегда 2100 FAILED, the in progress request failed
, Я также обновил приложение приемника, чтобы использовать стандартный приемник мультимедиа, но, похоже, это не имеет значения.
РЕШЕНИЕ
Проблема была в том, что я звонил
remoteClient.load(myMediaInfo, true, position);
remoteClient.play();
Оказывается, если вы загрузите MediaInfo с autoplay=true
Вы не можете напрямую звонить play()
, Если вы это сделаете, видео начнет воспроизводиться и его можно будет приостановить и найти, но его невозможно возобновить. Игра всегда терпит неудачу с ошибкой выше. Я думаю, что фреймворк мог бы справиться с этим немного лучше или, по крайней мере, дать приличное сообщение об ошибке, что может привести к какому-то выводу, который не имеет место с 2100 FAILED.