chromecast - 无法将 json 消息从 Android 应用程序发送到 Chromecast 接收器应用程序

标签 chromecast

无法从我的 Android 应用程序向接收方应用程序发送 json 消息。

安卓应用

  • 我已经创建了我的自定义 MessageStream 并且我正在使用这个命名空间“com.jujuy.chromecast”。
  • 从 session 中获取 channel 后,我将 MyCustomMessageStream 附加到它,然后调用该方法来发送消息。

    MyCustomMessageStream cm = new MyCustomMessageStream(); channel.attachMessageStream(cm);

    cm.sendTestMessage("你好!");

接收器应用

var receiver = new cast.receiver.Receiver(
    APP-ID, 
    ["com.jujuy.chromecast"],
    "",
    5);

var channelHandler =  new cast.receiver.ChannelHandler("com.jujuy.chromecast"); // I think it's not necessary to use com.jujuy.chromecast

channelHandler.addEventListener(cast.receiver.Channel.EventType.MESSAGE, onMessage.bind(this));

channelHandler.addChannelFactory(receiver.createChannelFactory("com.jujuy.chromecast")); 

receiver.start();

// message listener
function onMessage(event) {
    document.getElementById("messageLabel").innerHTML = event.message.type;
}

开始 session 后 () 我收到此消息 “启动应用程序失败:未收到 channel 信息” 在 onSessionStartFailed() 方法上,电视屏幕变黑。

我认为世界“com.jujuy.chromecast”有问题,我在其他示例中看到他们使用 cast.receiver.RemoteMedia.NAMESPACE,我不确定是否可以使用 MyCustomMessageStream 中使用的命名空间来更改它.

我在 TicTacToe 示例中看到他们使用与文档所述不同的方式来获取 de CastDevice 对象。这可能是问题所在吗?

我的 chromecast 已列入白名单,我可以毫无问题地运行许多示例。

我使用自定义接收器应用来测试播放视频和音频。有什么想法吗?

最佳答案

这很可能是因为发送方的命名空间与接收方的命名空间不匹配。您需要确保将其作为参数传递给自定义 MessageStream 的构造函数。

这是一个例子:

public class MyCustomMessageStream extends MessageStream {

    private static final String APP_NAMESPACE = "com.jujuy.chromecast";

    protected MyCustomMessageStream(){
        super(APP_NAMESPACE);
    }

    public final void sendTestMessage(String message){
        // ...
    }

    //...

}

您不需要使用远程媒体命名空间来发送消息,那是为了媒体播放。这是一个更深入的答案:https://stackoverflow.com/a/18499253/1839298

起初我无法让我的包命名空间工作,你可以尝试一个单词命名空间,比如“TEST”,看看你是否能让它工作然后从那里继续。

关于chromecast - 无法将 json 消息从 Android 应用程序发送到 Chromecast 接收器应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18543952/

相关文章:

android-studio - Android Studio、Gradle、CastVideos-android 简单应用错误 : "Configuration with name ' default' not found"

javascript - 使用 javascript 动态插入图像

javascript - 使用 Youtube Javascript API 检查剩余时间

android - Chromecast SDK (Android) - 有没有办法检查在转换设备上播放的媒体是否已经播放完毕?

javascript - 发送方断开连接后,让 Chromecast CAF 接收方保持事件状态

ios - Chromecast 自定义接收器不会暂停音频元素

audio - 从接收者网站播放音频

ios - 尝试开始扫描 Chromecast 设备时出错

jquery - 如何在 Phonegap 构建中安装 chromecast

android - 以编程方式将视频从 Android 手机发送到 Google Chromecast Dongle