我最近将我的应用程序从旧的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
。
我还更新了接收器应用程序以使用默认的Styled Media Receiver,但它似乎没有任何区别。
解
问题是我在打电话
remoteClient.load(myMediaInfo, true, position);
remoteClient.play();
事实证明,如果您使用autoplay=true
加载MediaInfo,则不允许您直接呼叫play()
。如果你这样做,视频开始播放,可以暂停和寻找,但永远不会恢复。播放始终失败并出现上述错误。我认为框架可以更好地处理这个问题,或者至少给出一个不错的错误信息,这可能导致某种结论,而2100 FAILED并非如此。