Chromecast RemoteMediaClient 抛出 java.lang.IllegalStateException:无连接

Chromecast mRemoteMediaClient throwing java.lang.IllegalStateException: No connection

我正在 android 中处理 Chrome-cast,我已将我的 Chrome-cast 从 SDKV2 迁移到 SDKV3。 RemoteMediaClient 在加载队列时抛出 'java.lang.IllegalStateException: No connection'。

-这一行出现异常

mRemoteMediaClient.queueLoad(mediaQueueItem,     PlayerConstants.SONG_NUMBER, MediaStatus.REPEAT_MODE_REPEAT_OFF, null)
                    .setResultCallback(resultCallback);

这是引发此异常时的情况:-
连接到 Chrome-cast 并在队列中连接加载 mediaQueueItem 后它会第一次顺利工作,现在停止投射(从设备断开 Chrome-cast)然后我再次连接到投射它会连接没有任何问题,但在连接加载 mediaQueueItem 进行投射后,它引发了这个异常。

请帮忙。

我发现了我在 onSessionEnded() 方法中做的错误。

@Override
public void onSessionEnded(CastSession session, int error)
{
     mRemoteMediaClient = null;
     mCastSession = null;
}

我在 onSessionEnded() 中将 null 分配给 mRemoteMediaClientmCastSession。 删除这两行。

mRemoteMediaClient = null;
mCastSession = null;

session结束或session挂起时不应赋null。

希望对其他人有所帮助。