Я работаю над интеграцией Google Chromecast
в одно из моих Android
приложений. Для этого я имею в виду примеры Google Cast.
Я использую CastCompanionLibrary-android — CCL, и чтобы понять, как его использовать, я имею в виду < href="https://github.com/googlecast/CastVideos-android" rel="nofollow noreferrer">пример транслируемых видео. Однако в этом примере показано, как использовать кнопку трансляции с ActionBar
.
Мой вопрос: как использовать эту библиотеку, если мне нужно использовать MediaRouteButton
в моем пользовательском макете? В каких местах я должен внести изменения?
Моя деятельность распространяется FragmentActivity
.
Примечание. Я просмотрел документ в формате pdf, прилагаемый к библиотеке, однако не нашел много информации о том, как использовать библиотеку с MediaRouteButton
.
Любая помощь приветствуется.
ОБНОВЛЕНИЕ:
Шаг 1: я получаю экземпляр VideoCastManager
.
Шаг 2: я получаю MediaRouteButton из своего пользовательского макета и добавляю его в экземпляр VideoCastManager
.
Шаг 3. Реализация onCastDeviceDetected()
, onCastAvailabilityChanged()
, onApplicationConnected()
, onApplicationDisconnected()
и onDisconnected()
методов VideoCastConsumerImpl
методов прослушивателя. Затем добавьте этот прослушиватель в экземпляр VideoCastManager
.
Шаг 4: В onApplicationConnected()
я вызываю loadRemoteMedia()
, передавая текущую позицию панели поиска.
Но это не работает. Видео кастинг так и не начинается.
ОБНОВЛЕНИЕ 2:
Ниже приведены журналы, которые я получаю, когда пытаюсь использовать URL-адрес Cast в примере приложения Cast video.
Состояние приложения: загружено.запущено.готово
Количество сеансов: 2
Состояние элемента мультимедиа: остановлено
Сообщение диспетчера приемника трансляции: Подключен отправитель: { ДРУГИЕ ДАННЫЕ}
Сообщение медиа-менеджера: ЗАГРУЗИТЕ {ДРУГИЕ ДАННЫЕ}
Медиа-протокол: m3u8 // мое видео с расширением m3u8
Ниже приведены журналы, которые я получаю, когда пробую URL-адрес Cast в своем приложении.
Состояние приложения: загружено.запущено.готово
Количество сеансов: 1
Состояние элемента мультимедиа:
Сообщение диспетчера приемника трансляции: Подключен отправитель: { ДРУГИЕ ДАННЫЕ}
Сообщение медиа-менеджера: ПОЛУЧИТЬ СТАТУС {ДРУГИЕ ДАННЫЕ}
Медиа-протокол: неизвестно
ОБНОВЛЕНИЕ 3 Тег BaseCastManager:
D/ccl_BaseCastManager(2974): [v1.8] получение подключения к сервисам Google Play для Chromecast (941cb5ec30f65c2082b67fd7c5df0b03)
D/ccl_BaseCastManager(2974): [v1.8] onConnected() достигнуто с предшествующей приостановкой: false
D/ccl_BaseCastManager(2974): [v1.8] launchApp() вызывается D/ccl_BaseCastManager(2974): [v1.8] Запуск приложения
D/ccl_BaseCastManager(2974): [v1.8] launchApplication() -> результат успеха
D/ccl_BaseCastManager(2974): [v1.8] Успешно добавлен новый прослушиватель BaseCastConsumer om.google.sample.castcompanionlibrary.notification.VideoCastNotificationService$2@429998a8
Тег VideoCastManager:
D/ccl_VideoCastManager(2974): [v1.8] onApplicationStatusChanged() достигнуто: главный экран Chromecast
D/ccl_VideoCastManager(2974): [v1.8] onVolumeChanged() достигнуто
D/ccl_VideoCastManager(2974): [v1.8] onApplicationStatusChanged() достигнуто: ноль
D/ccl_VideoCastManager(2974): [v1.8] onApplicationConnected() достигнут с sessionId: B71F7618-1516-5F6C-D795-EF32FD0BF5E2 и mReconnectionStatus=INACTIVE
D/ccl_VideoCastManager(2974): [v1.8] startNotificationService()
D/ccl_VideoCastManager(2974): [v1.8] attachMedia()
D/ccl_VideoCastManager(2974): [v1.8] Регистрация пространства имен MediaChannel
D/ccl_VideoCastManager(2974): [v1.8] onApplicationStatusChanged() достигнуто: готов к воспроизведению
D/ccl_VideoCastManager(2974): [v1.8] Успешно добавлен новый прослушиватель CastConsumer om.google.sample.castcompanionlibrary.notification.VideoCastNotificationService$2@429998a8
D/ccl_VideoCastManager(2974): [v1.8] RemoteMediaPlayer::onStatusUpdated() достигнут
D/ccl_VideoCastManager(2974): [v1.8] onRemoteMediaPlayerStatusUpdated() достигнут
D/ccl_VideoCastManager(2974): [v1.8] mApiClient или mRemoteMediaPlayer имеют значение null, поэтому › продолжение не будет
D/ccl_VideoCastManager(2974): [v1.8] RemoteMediaPlayer::onMetadataUpdated() достигнут
D/ccl_VideoCastManager(2974): [v1.8] onRemoteMediaPlayerMetadataUpdated() достигнуто