- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
有人能够在 ChromeCast API 中添加自定义命令吗?我成功地让 TicTacToe 示例与我的开发人员 ID 以及修改后的协议(protocol)字符串(在客户端和服务器上都发生了变化)一起工作。
在 Android 端,我现有的“join”命令有效,我正在添加一个新的“image”命令:
public final void join(String name) {
try {
Log.d(TAG, "join: " + name);
JSONObject payload = new JSONObject();
payload.put(KEY_COMMAND, KEY_JOIN);
payload.put(KEY_NAME, name);
sendMessage(payload);
} catch (JSONException e) {
Log.e(TAG, "Cannot create object to join a game", e);
} catch (IOException e) {
Log.e(TAG, "Unable to send a join message", e);
} catch (IllegalStateException e) {
Log.e(TAG, "Message Stream is not attached", e);
}
}
public final void sendImage(String sURL) {
try {
Log.d(TAG, "sendImage");
JSONObject payload = new JSONObject();
payload.put(KEY_COMMAND, KEY_IMAGE);
payload.put(KEY_URL, sURL);
sendMessage(payload);
} catch (JSONException e) {
Log.e(TAG, "Cannot create object to send image", e);
} catch (IOException e) {
Log.e(TAG, "Unable to send an image message", e);
} catch (IllegalStateException e) {
Log.e(TAG, "Message Stream is not attached", e);
}
}
如果我调用 join 命令,它工作正常,我可以在浏览器中看到通过控制台记录的消息。但是如果我调用 sendImage 函数,我会收到以下错误:
“onEnded 连接 channel 失败:协议(protocol)错误”
在 ChromeCast 端,我可以看到收到有效命令的时间。当我发送加入命令时会调用此函数,但不会在我发送自定义“图像”命令时调用。
/**
* Message received event; determines event message and command, and
* choose function to call based on them.
* @param {event} event the event to be processed.
*/
onMessage: function(event) {
console.log('***== pre onMessage ==***');
var message = event.message;
var channel = event.target;
console.log('********onMessage********' + JSON.stringify(message));
console.log('mPlayer1: ' + this.mPlayer1);
console.log('mPlayer2: ' + this.mPlayer2);
if (message.command == 'join') {
this.onJoin(channel, message);
} else if (message.command == 'leave') {
this.onLeave(channel);
} else if (message.command == 'move') {
this.onMove(channel, message);
} else if (message.command == 'queue_layout_request') {
this.onQueueLayoutRequest(channel);
} else if (message.command == 'image') {
this.onImage(channel, message);
} else if (message.command == 'video') {
this.onVideo(channel, message);
} else if (message.command == 'song') {
this.onSong(channel, message);
} else {
cast.log.error('Invalid message command: ' + message.command);
}
},
有什么想法吗?我需要在其他地方定义自定义命令吗?
已编辑:还显示了 onImage 原型(prototype):
/**
* Image event: display an image
* @param {cast.receiver.channel} channel the source of the move, which
* determines the player.
* @param {Object|string} message contains the URL of the image
*/
onImage: function(channel, message) {
console.log('****onImage: ' + JSON.stringify(message));
//Hide video and show image
mVideo.style.visibility='hidden';
mImage.style.visibility='visible';
mImage.src = message.url;
},
最佳答案
这通常意味着您的接收器中存在 JavaScript 错误。在您的 ChromeCast 设备的 IP 地址的端口 9222 上打开 Chrome,并使用 Chrome 开发者工具来调试问题。
您是否在消息处理程序的接收器原型(prototype)中声明了一个新函数“onImage”?
关于android - Chromecast 自定义命令不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18261413/
我想知道 Chromecast 支持哪些网络技术。我知道没有提到的完整列表 here但我实际上想要支持的列表和 performant特点。 它与普通的 Web 开发有什么不同? 是否有硬件加速、Web
我创建了一个 Android 发送器应用程序。它似乎不起作用,我想知道发生了什么,但我无法访问 http://RECEIVER-IP-ADDRESS:9222 。我已注册我的 chromecast 设
我已填写 Google 表单,以便将我的设备列入白名单,并已获得 AppID。 我已按照此处概述的步骤尝试调试设备,但没有成功: https://developers.google.com/cast/
我的自定义 Chromecast 接收器最初是在开发人员控制台中关闭“列表详细信息”的情况下发布的,因此它不会显示在 http://chromecast.com/apps 上。 .现在,我希望它被列出
我想启动 Chromecast 应用程序,但不使用 chrome 扩展程序或 iOS 或 Android。从命令行执行此操作。 我注意到您可以向 chromecast 发送 POST,它会启动一个应用
此 article解释“支持 Chromecast 的网站”的好处: Higher quality: Chromecast-enabled sites can serve high quality c
很高兴终于有时间尝试在我的 chromecast 上进行开发,但唉……似乎甚至无法开始。 我填写了白名单请求,收到了周五确认的电子邮件(正好 catch 周末!),然后我开始查看样本,并根据我发现的一
我尝试使用以下工作正常的代码将元数据从发送方发送到接收方。 const mediaInfo = new chrome.cast.media.MediaInfo(url, type); /* -----
我想制作 Chromecast 设备运行的接收器应用程序的屏幕截图。 我需要让它在设备上运行才能同时显示视频和应用程序。 有没有办法做到这一点 ? 最佳答案 Ali Naddaf 的回答在技术上是正确
有没有办法选择您自己的图像来自定义 Chromecast 屏幕保护程序? 或者我可以编写一个接收器应用程序来替换屏幕保护程序吗? 最佳答案 屏幕保护程序实际上是一个网页 ( https://clien
我正在尝试创建一个设备,让我可以指定 youtube 视频,以便从任意客户端通过 chromecast 播放。就我而言,客户端是在 Arduino 上运行的 CURL。 我很早就撞墙了。我看到 SDK
目前,您可以使用 Google 智能助理控制您的 chromecast 屏幕,例如询问 Google Home“OK Google,在客厅屏幕上显示来自 YouTube 的关于食物的视频”。但是你可以
我将 chromecast 支持集成到我的 Android 应用程序中。已发布(将状态更改为已发布)。然后我改为"is"部分 LISTING DETAILS Allow users to discov
有什么方法可以使用标准(桌面)Java 连接到 ChromeCast。我正在寻找一种自动化测试的方法,并希望我们的 CC:s 能够自动播放视频。 到目前为止我已经找到了这个项目: https://gi
我正在尝试使用 chrome 测试一些 chromecast 示例,但在我的 APP-ID 的可用接收器列表中看不到 chromecast。 这是我的情况, 我的 chromecast 设备已列入白名
文档说 Chromecast 使用的是“缩小版”的 Chrome 浏览器。是否有受支持的 HTML5 标记和受支持的 JavaScript DOM 操作的列表? 我喜欢用 HTML5 为 Chrome
使用 Host.processMetadata() 获取视频流中的 ID3 标签。它说这是一个 Uint8Array 但我不知道如何正确解码它。我在用: new TextDecoder("utf-8"
在播放音乐时,我尝试了几种不同的 css 动画来在屏幕上上下移动大图像。我没有发现任何导致平滑过渡的速度、距离转换等变化。 最佳答案 如果您查看 Chromecast Chrome 调试器的“时间轴”
我查看了 git 上的 chromecast 示例并查看了较旧的 v7 mediarouter examples其中包括“播放或排队”行为。从 chromecast 接口(interface)不清楚,
我在 Chrome Incognito 中运行 Chromecast 发件人时出错,或者如果未安装 Chromecast 扩展程序: Failed to load resource: net::ERR
我是一名优秀的程序员,十分优秀!