我试图在通过GitHub的项目合作,“CastHelloText铬”: https://github.com/googlecast/CastHelloText-chrome如何使用Chromecast从自定义接收者向发件人应用发送消息?
我已通过样品和官方文件。目前我正在尝试将简单的字符串传递给发件人。
这是我的函数:
function DispatchToSender() {
debugger;
try {
if (window.messageBus == null) {
window.messageBus =
window.castReceiverManager.getCastMessageBus(
'urn:x-cast:com.radiodile.mobilex');
}
//I now pass in "theSenderID" based on Ali's comment
window.messageBus.send(theSenderID, "This gun's for hire");
} catch (e) {
console.log("Dispath to sender exception: " + e);
}
}
这无助和文档是在这个用例非常稀疏(至少对我的过热的大脑)
能有人给我的一个微调正确的方向吗?
谢谢!
PS - 我DispatchToSender()函数不会步入以下:
//如果指定的端口号是在这种情况下返回true。这由 函数使用hasPort(portId){ 端口返回portId; }; // C++避免为所有上下文创建javascript消息,这些上下文不会关心特定的消息。
以上似乎是我的自定义接收器的JS SDK我参考的一部分。它从来没有得到过去那种让我确信我做错了什么,但也有对假人MOI :))
更新阿里Naddaf的评论没有例子 - 仍然没有运气
我读过你的评论先生,并尝试以下。
receiver.html
从receiver.html初始化 - 我设置页面级变量, “theSenderID” 到event.senderId值
//处理程序CastMessageBus消息事件
window.messageBus.onMessage = function (event) {
console.log('Message [' + event.senderId + ']: ' + event.data);
theSenderID = event.senderId; // CAPTURE THE SENDER ID FOR RE-USE IN DISPATCH EVENT FN()
// display the message from the sender
displayText(event.data);
// inform all senders on the CastMessageBus of the incoming message event
// sender message listener will be invoked
window.messageBus.send(event.senderId, event.data);
}
然后我试图在DispatchEvent发送消息,像这样()函数,我写道:
window.messageBus.send(theSenderID,“这枪的雇用“);
在上面我有theSenderID的值,它是:“6:客户54624”
当我打电话window.messageBus.send我看不出有什么异常,但在我的发送者的应用程序我从来没有收到消息:
chromehellotext.html
/**
* utility function to log messages from the receiver
* @param {string} namespace The namespace of the message
* @param {string} message A message string
*/
function receiverMessage(namespace, message) {
appendMessage("receiverMessage: " + namespace + ", " + message);
};
请注意,我用我的senderId创建,因为发件人的“receiverMessage()”函数的第一个参数的自定义命名空间读取您的评论之前。
receiverMessage()确实工作并且拦截了chromehellotext示例的接收器的DisplayText()函数中的setApplicationState(text)值。
我完全困惑。
我还没有尝试广播消息,但它似乎是一个更好的做法直接与发件人沟通?
谢谢!
嗨Ali,请参阅我添加的**更新**。我确实试图按照你的评论的要点,但我迄今为止不成功。谢谢! – Krafty 2014-09-26 20:12:46
不知道为什么它几分钟前不工作。我回来更新帖子,并将发送者和接收者都置于调试模式。经过一些更多的搜索和搜索之后,我再次触发事件序列,这次.send()方法按照您的指示与senderid协同工作。非常感谢你! – Krafty 2014-09-26 20:26:43