2016-05-15 98 views
0

我正在为android创建一个应用程序,以支持使用CastCompanionLibrary库进行交互的Google转换视频。 关于视频VideoCastManager的使用和用于交换消息(数据)的部分DataManagerCast的使用。 我想实现一个可以连接到特定会话的控件。我的想法是,在Chromecast上连接的第一个发件人是“会话的所有者”,其他发件人需要向他请求连接。我为接收方和发送方会话所有者之间的通信创建了一个命名空间,以便进行连接过程。 如果发件人未被授权,则应该断开连接。 我看了一下接收器引用搜索的方法,让接收器断开一个特定的sende,但仍然失败。有谁知道是否有可能实现这个我的想法?断开发件人未经授权

回答

1

首先,你为什么要使用DataCastManager? VideoCastManager可以添加一个数据通道,这就是所有你需要通信的地方,所以只能使用VideoCastManager。

至于记错的话,接收器不能断开个别发件人,所以你的方法的替代方案是:

  • 每个发件人,连接到接收器后,将消息发送给接收器将其自身注册。
  • Receiver查看连接设备的数量,如果这是第一个设备,它认为所有者向发件人发送一条消息,让它知道它是所有者。如果它不是第一个,它会向该发送者发回一条消息,通知它需要从所有者那里获得授权(这样新的发送者就知道它应该等待授权)。同时,它向所有者发送消息,要求允许第二个消息进入。
  • 所有者将向接收方发回消息以允许或禁止新的发送方进行连接。 Receiver然后发送一条消息给新的发送者,让它知道它的请求是否被授予。
  • 如果授予了权限,那么您的发件人中的代码将允许用户在应用程序中前进。如果它未被授予,那么发件人应用程序中的逻辑可以阻止用户继续前进,也可以断开发件人的连接,也可以限制用户可以执行的操作。
+0

谢谢阿里纳达夫澄清我的怀疑。 –

相关问题