我最近将我的应用程序从旧的 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 则不是这种情况。