我想使用Chromecast显示网页。当前页面非常简单(只是“ Hello World!”),但是我希望使其更加复杂,并可能与第二个屏幕进行交互。但是,我发现如果不创建媒体管理器(new cast.receiver.MediaManager(window.mediaElement)
),则该会话将立即在我的发送者上过期(称为function sessionUpdateListener(false)
)。该页面仍然显示,但是我无法再与它进行交互,包括停止应用程序。
我想知道这是设计使然,还是一个错误,还是我做错了什么?
这是我的自定义接收器的代码...
<html>
<head>
<title>Hello World Chromecast App</title>
<style type="text/css">
*
{
color: white;
}
</style>
</head>
<body>
<div>Hello World!</div>
<script src="//www.gstatic.com/cast/sdk/libs/receiver/2.0.0/cast_receiver.js"></script>
<script type="text/javascript">
window.onload = function () {
window.castReceiverManager = cast.receiver.CastReceiverManager.getInstance();
window.castReceiverManager.start();
}
</script>
</body>
</html>
最佳答案
诀窍是您需要在创建消息总线后调用start。完成后,会话将在发送者上保持活动状态。
<script type="text/javascript">
(function () {
var mgr;
var bus;
window.onload = function () {
mgr = cast.receiver.CastReceiverManager.getInstance();
bus = mgr.getCastMessageBus('urn:x-cast:com.sample.hello');
mgr.start();
}
})();
</script>