2016-05-15 79 views
0

我正在爲android創建一個應用程序,以支持使用CastCompanionLibrary庫進行交互的Google轉換視頻。 關於視頻VideoCastManager的使用和用於交換消息(數據)的部分DataManagerCast的使用。 我想實現一個可以連接到特定會話的控件。我的想法是,在Chromecast上連接的第一個發件人是「會話的所有者」,其他發件人需要向他請求連接。我爲接收方和發送方會話所有者之間的通信創建了一個命名空間,以便進行連接過程。 如果發件人未被授權,則應該斷開連接。 我看了一下接收器引用搜索的方法,讓接收器斷開一個特定的sende,但仍然失敗。有誰知道是否有可能實現這個我的想法?斷開發件人未經授權

回答

1

首先,你爲什麼要使用DataCastManager? VideoCastManager可以添加一個數據通道,這就是所有你需要通信的地方,所以只能使用VideoCastManager。

至於記錯的話,接收器不能斷開個別發件人,所以你的方法的替代方案是:

  • 每個發件人,連接到接收器後,將消息發送給接收器將其自身註冊。
  • Receiver查看連接設備的數量,如果這是第一個設備,它認爲所有者向發件人發送一條消息,讓它知道它是所有者。如果它不是第一個,它會向該發送者發回一條消息,通知它需要從所有者那裏獲得授權(這樣新的發送者就知道它應該等待授權)。同時,它向所有者發送消息,要求允許第二個消息進入。
  • 所有者將向接收方發回消息以允許或禁止新的發送方進行連接。 Receiver然後發送一條消息給新的發送者,讓它知道它的請求是否被授予。
  • 如果授予了權限,那麼您的發件人中的代碼將允許用戶在應用程序中前進。如果它未被授予,那麼發件人應用程序中的邏輯可以阻止用戶繼續前進,也可以斷開發件人的連接,也可以限制用戶可以執行的操作。
+0

謝謝阿里納達夫澄清我的懷疑。 –

相關問題