以下是我正在做的事情:
在进行演示时,我可以访问我正在演示的显示器:
MediaRouter.RouteInfo route = mMediaRouter.getSelectedRoute(MediaRouter.ROUTE_TYPE_LIVE_VIDEO);
return route != null ? route.getPresentationDisplay() : null;
有关如何实现此功能的任何想法?
更新:
对于那些对此感兴趣的人,我就这样做了(感谢Ali Naddaf的回复):
@TargetApi(Build.VERSION_CODES.JELLY_BEAN_MR2)
public void disconnect(){
MediaRouter mMediaRouter = (MediaRouter) getSystemService(Context.MEDIA_ROUTER_SERVICE);
mMediaRouter.selectRoute(MediaRouter.ROUTE_TYPE_LIVE_VIDEO, mMediaRouter.getDefaultRoute());
}
答案 0 :(得分:5)
对于那些喜欢使用v3 Cast SDK寻找答案的人:
mSessionManager.endCurrentSession(true);
答案 1 :(得分:2)
如下所示查找SessionManager并断开与chromecast会话的连接:
mRemoteMediaClient.stop(); // stop remote media
CastContext castContext = CastContext.getSharedInstance(this);
SessionManager mSessionManager = castContext.getSessionManager();
mSessionManager.endCurrentSession(true);
答案 2 :(得分:0)
如果我理解正确,您正在让用户在您的应用之外启动屏幕投射/镜像。然后用户输入您的应用程序,当他们离开时,您想断开连接?如果我不对,请告诉我。
可以断开屏幕镜像,但我不确定这是正确的做法。当用户输入您的应用时,您不知道用户是否因为您的应用或其他原因而开启了屏幕投射。如果用户在进入您的应用之前因其他原因而这样做了,则您的应用在离开时断开用户是不对的。你同意吗?
答案 3 :(得分:0)
这对我有用:
mediarouter.unselect(0)