加载视频失败时是不是调用 MediaProtocolCommand.Listener onCompleted?

Posted

技术标签:

【中文标题】加载视频失败时是不是调用 MediaProtocolCommand.Listener onCompleted?【英文标题】:Is MediaProtocolCommand.Listener onCompleted called when it fails to load a video?加载视频失败时是否调用 MediaProtocolCommand.Listener onCompleted? 【发布时间】:2013-08-28 22:59:56 【问题描述】:

我故意向我的接收器应用发送格式不支持的视频。我在 chromcast 控制台上看到以下消息:

[ 8.188s] [cast.receiver.ChannelOverWebSocket] 发送消息: ["ramp","cmd_id":1,"type":"RESPONSE","status":"event_sequence":10,"error":"domain":"ramp","code":-2 ] 来自 ws://localhost:8008/session?20

如何在我的 android 应用上接收该信息?我知道onComplete 在视频播放正常时调用MediaProtocolCommand.Listener。描述使它听起来好像在它不播放时也会被调用,还是我读错了?

我还尝试在无限循环中的单独线程上查看mMessageStream.loadMedia 返回的MediaProtocolCommand,但它永远不会将其hasError 设置为true。那我错过了什么?

谢谢。

【问题讨论】:

【参考方案1】:

Cast Android SDK 似乎没有正确解析这些错误消息。在示例 Android 客户端中,使用无效的视频 URL 引发以下异常:

   MediaProtocolMessageStream(9088): error parsing message: 
"type":"RESPONSE", "cmd_id":1,"status":"error":"domain":"ramp","code":-2,
"event_sequence":377 org.json.JSONException: No value for state

这看起来像一个错误,应该向 Google 报告。

【讨论】:

我认为你是对的,我刚刚在我的安卓日志08-30 16:26:14.686: ERROR/MediaProtocolMessageStream(5588): error parsing message: "type":"RESPONSE","cmd_id":1,"status":"error":"domain":"ramp","code":-2,"event_sequence":1764 org.json.JSONException: No value for state 上注意到了这一点。现在我只希望谷歌能在他们的问题跟踪器上说些什么。

以上是关于加载视频失败时是不是调用 MediaProtocolCommand.Listener onCompleted?的主要内容,如果未能解决你的问题,请参考以下文章

模块dynwrapx.dll已加载 调用失败

新浪微博显示CSS加载失败,土豆视频虽然可以看但是下面的视频图也显示红XX!救命啊各位...

Chrome:未捕获(承诺)DOMException:加载失败,因为找不到支持的源

Nginx的加载失败的SSL证书问题,怎么解决

Nginx的加载失败的SSL证书问题,怎么解决

为何看视频看1半就加载加载后就1直不能看了