断开/重新连接后自定义接收器不调用 onLoad

Posted

技术标签:

【中文标题】断开/重新连接后自定义接收器不调用 onLoad【英文标题】:Custom receiver doesn't call onLoad after disconnect / reconnect 【发布时间】:2017-03-20 21:36:19 【问题描述】:

当我在没有关闭 android 应用程序的接收器的情况下断开连接并重新连接时,投射接收器不再接收 onLoad 事件。 自定义消息总线仍然有效。

mRemoteMediaPlayer.requestStatus 超时设置为 15 秒,超时。

我可以看到演员接收者收到一条消息:

[cast.receiver.IpcChannel] Received message: "data":"\"requestId\":2,\"type\":\"LOAD\",\"media\":\"contentId\":  ... 

CastPlayer.prototype.load 永远不会被调用。

收到的 MediaManager 消息永远不会显示。

我不确定在哪里查找错误。

【问题讨论】:

您是否发现 Google Cast 示例应用存在同样的问题? Chrome 远程调试器中是否有任何错误消息?如果您有可靠的方法来重现该问题,请使用示例流提交错误:issuetracker.google.com/… 错误出现在我的接收器中,我会为此添加一个答案,并详细描述它。 【参考方案1】:

这个错误是投图后才出现的,因为我自己处理的。

self.resetMediaElement_()之后我错过了mimeType image/*:

this.mediaElement_.addEventListener('stalled', this.onBuffering_.bind(this), false);
this.mediaElement_.addEventListener('waiting', this.onBuffering_.bind(this), false);
this.onLoadOrig_(new cast.receiver.MediaManager.Event(cast.receiver.MediaManager.EventType.LOAD, (info.message), info.senderId));

【讨论】:

以上是关于断开/重新连接后自定义接收器不调用 onLoad的主要内容,如果未能解决你的问题,请参考以下文章

部署到 IIS 后自定义授权属性不起作用

Vuetify 表 - 页面重新加载后自定义 CSS 不会应用于第一行

当蓝牙断开连接或重新连接时,我的webview会重新加载

chromecast 自定义接收器 - 播放列表在没有“onLoad”动画的情况下推进媒体

将数据从对话框插入 SQLi 后自定义列表视图不刷新

C# TcpListener如何知道客户端已经断开连接