2

我运行两个应用程序,它们都使用 Cast SDK v2 和Remote DisplayAPI。我从 App #1 开始投射,然后转到 App #2,按下投射按钮并选择一条路线。

预期: App #2 开始投射,App #1 停止投射。

实际:MediaRouter.Callback.onRouteUnselected()在我选择一条路线后,立即调用App #2 。两个应用程序的内容都没有显示在接收器上,但应用程序 #1 的通知控制器仍然存在。

我在 Cast SDK v3 中没有看到这种行为。Cast SDK v2 中是否有任何方法可以确保在另一个应用程序开始投射时停止先前的投射会话?

4

1 回答 1

2

我还没有这样做,但是您可以尝试实现addUpdateListener并在另一个启动时执行session.stop 。

addUpdateListener(listener)

添加在 Session 更改时调用的侦听器。对以下属性的更改将触发侦听器:statusText、命名空间、状态和接收器的音量。

侦听器应检查 Session 的 status 属性以确定其连接状态。不推荐使用布尔参数isAlive,取而代之的是 status Session 属性。为了向后兼容,isAlive 参数仍然被传入,并且是 true,除非

status = chrome.cast.SessionStatus.STOPPED

停止应用程序方法:

function stopApp() {
    session.stop(onSuccess, onError);
}
于 2016-10-03T02:21:30.593 回答