Можно ли использовать MiniControllerFragment с пользовательским MediaRouteProvider?

Можно ли использовать Google? MiniControllerFragment работать с моим заказом MediaRouteProvider?

Причина, по которой я спрашиваю: пользовательский интерфейс кнопки мини-контроллера не появляется, когда я кастую в свой пользовательский MediaRouteProvider. Я заметил, что MiniControllerFragment[1] использует UIMediaController.

Я прочитал код UIMediaController. Похоже, что UIMediaController управляется событиями из синглтона SessionManager. UIMediaController подписывается на SessionManager, но обрабатывает только сеансы класса "CastSession"[4].

Я не уверен, возможно ли мне расширить / создать экземпляр CastSession в моем SessionProvider (в настоящее время я создаю класс, расширенный из cast.framework.Session [2]).

Создание экземпляра объекта CastSession выглядит довольно сложно [3], его конструктор имеет длинный список классов, некоторые из которых, как мне кажется, не могут получить экземпляр из любого места.

Спасибо, Рик.


Заметки

[1] Документы MiniControllerFragment: https://developers.google.com/android/reference/com/google/android/gms/cast/framework/media/widget/MiniControllerFragment

[2] Документы Session / CastSession: https://developers.google.com/android/reference/com/google/android/gms/cast/framework/Session

[3] CastSession конструктор, согласно декомпилированному файлу.class. Требуются экземпляры недокументированных классов. Похоже, не существует фабричного метода:

public CastSession(
   Context var1, 
   String var2, 
   String var3, 
   CastOptions var4, 
   CastApi var5,   //< Can't instantiate this - Rik.
   zzws var6,      //< Not sure what class that is! - Rik.
   zzxe var7       //< Not sure what class that is! - Rik.
) 

[4] Работа с делегированными функциями onSessionStarted() событие от диспетчера сеансов. Заинтересованы только в сеансах CastSession:

private void zza(Session var1) {
   if(!this.isActive() && var1 instanceof CastSession && var1.isConnected()){
       // Does work with RemoteMediaClient here ...
   }
}

0 ответов

Другие вопросы по тегам