У меня возникла проблема с попыткой реализовать Chromecast в моем приложении с помощью CastCompanionLibrary.CastCompanionLibrary: mApiClient или mRemoteMediaPlayer имеет значение
Вот как я инициализирую свой CastManager.
public static VideoCastManager mCastMgr;
//chromeCast init
public static VideoCastManager getVideoCastManager(Context ctx) {
if (mCastMgr == null) {
mCastMgr = VideoCastManager.initialize(ctx, ctx.getResources().getString(R.string.CAST_APPLICATION_ID), null, null);
mCastMgr.enableFeatures(VideoCastManager.FEATURE_NOTIFICATION | VideoCastManager.FEATURE_LOCKSCREEN |
VideoCastManager.FEATURE_WIFI_RECONNECT
| VideoCastManager.FEATURE_NOTIFICATION |
VideoCastManager.FEATURE_DEBUGGING);
}
mCastMgr.setContext(ctx);
return mCastMgr;
}
Это всего лишь тестовый код для отображения одного носителя. Этот метод вызывается в onCreate.
И затем в onResume я назначаю свой VideoCastConsumer своему менеджеру.
// CHROMECAST
mVideoCastManager.addVideoCastConsumer(mVideoCastConsumer);
У меня нет проблем с обнаружением Chromecast, он отлично работает. Я выбираю свое устройство с приложением, а затем он отображает мое имя приложения на моем экране и ничего не делает. Причина должна заключаться в этом отладочном сообщении.
09-30 17:36:26.164: D/ccl_CastMediaRouterCal(7630): [v1.10] Route added: Chambre
09-30 17:36:34.997: D/ccl_BaseCastManager(7630): [v1.10] Successfully added the new BaseCastConsumer listener [email protected]
09-30 17:36:34.997: D/ccl_VideoCastManager(7630): [v1.10] Successfully added the new CastConsumer listener [email protected]
09-30 17:36:38.576: D/ccl_CastMediaRouterCal(7630): [v1.10] onRouteSelected: info=MediaRouter.RouteInfo{ uniqueId=com.google.android.gms/.cast.media.CastMediaRouteProviderService:92ec2ab63d7e51ff96603bf08487fbc6, name=Chambre, description=Chromecast, enabled=true, connecting=false, playbackType=1, playbackStream=-1, volumeHandling=0, volume=0, volumeMax=20, presentationDisplayId=-1, extras=Bundle[mParcelledData.dataSize=580], providerPackageName=com.google.android.gms }
09-30 17:36:38.578: D/ccl_BaseCastManager(7630): [v1.10] acquiring a connection to Google Play services for "Chambre" (92ec2ab63d7e51ff96603bf08487fbc6)
09-30 17:36:38.590: D/ccl_CastMediaRouterCal(7630): [v1.10] onResult: mSelectedDevice=Chambre
09-30 17:36:39.593: D/ccl_BaseCastManager(7630): [v1.10] onConnected() reached with prior suspension: false
09-30 17:36:39.598: D/ccl_BaseCastManager(7630): [v1.10] launchApp() is called
09-30 17:36:39.598: D/ccl_BaseCastManager(7630): [v1.10] Launching app
09-30 17:36:39.640: D/ccl_VideoCastManager(7630): [v1.10] onVolumeChanged() reached
09-30 17:36:39.641: D/ccl_VideoCastManager(7630): [v1.10] onApplicationStatusChanged() reached:
09-30 17:36:39.757: D/ccl_VideoCastManager(7630): [v1.10] onApplicationStatusChanged() reached: null
09-30 17:36:40.988: D/ccl_BaseCastManager(7630): [v1.10] launchApplication() -> success result
09-30 17:36:40.988: D/ccl_VideoCastManager(7630): [v1.10] onApplicationConnected() reached with sessionId: A5E3356F-14BD-FD02-6044-8911E8E4D215, and mReconnectionStatus=INACTIVE
09-30 17:36:40.989: D/ccl_VideoCastManager(7630): [v1.10] startNotificationService()
09-30 17:36:40.994: D/ccl_VideoCastManager(7630): [v1.10] attachMedia()
09-30 17:36:40.996: D/ccl_VideoCastManager(7630): [v1.10] Registering MediaChannel namespace
09-30 17:36:41.007: D/ccl_VideoCastManager(7630): [v1.10] onApplicationStatusChanged() reached: Ready To Cast
09-30 17:36:41.008: D/ccl_VideoCastNotificat(7630): [v1.10] onCreate()
09-30 17:36:41.009: D/ccl_BaseCastManager(7630): [v1.10] Successfully added the new BaseCastConsumer listener com.google.sample.c[email protected]41f7edb0
09-30 17:36:41.009: D/ccl_VideoCastManager(7630): [v1.10] Successfully added the new CastConsumer listener com.google.sample.c[email protected]41f7edb0
09-30 17:36:41.009: D/ccl_VideoCastNotificat(7630): [v1.10] onStartCommand
09-30 17:36:41.010: D/ccl_VideoCastNotificat(7630): [v1.10] onStartCommand(): Action: ACTION_VISIBILITY true
09-30 17:36:41.684: D/ccl_VideoCastManager(7630): [v1.10] RemoteMediaPlayer::onStatusUpdated() is reached
09-30 17:36:41.684: D/ccl_VideoCastManager(7630): [v1.10] onRemoteMediaPlayerStatusUpdated() reached
09-30 17:36:41.684: D/ccl_VideoCastManager(7630): [v1.10] mApiClient or mRemoteMediaPlayer is null, so will not proceed
09-30 17:36:41.684: D/ccl_VideoCastManager(7630): [v1.10] RemoteMediaPlayer::onMetadataUpdated() is reached
09-30 17:36:41.684: D/ccl_VideoCastManager(7630): [v1.10] onRemoteMediaPlayerMetadataUpdated() reached
Вот журналы Chromecast, но мне кажется, что нет ничего, пока я не отключить его .. Это очень странно.
Failed to load resource: the server responded with a status of 404 (Not Found) https://www.gstatic.com/eureka/player/undefined
[ 0.280s] [goog.net.WebSocket] Opening the WebSocket on ws://localhost:8008/v2/ipc cast_receiver.js:18
The page at 'https://www.gstatic.com/eureka/player/player.html?skin' was loaded over HTTPS, but ran insecure content from 'ws://localhost:8008/v2/ipc': this content should also be loaded over HTTPS.
player.html:1
Connecting to a non-secure WebSocket server from a secure origin is deprecated. player.html:1
[ 0.363s] [goog.net.WebSocket] WebSocket opened on ws://localhost:8008/v2/ipc cast_receiver.js:18
Failed to load resource: the server responded with a status of 404 (Not Found) https://www.gstatic.com/eureka/player/undefined
cast.receiver.logger.setLevelValue(cast.receiver.LoggerLevel.DEBUG);
undefined
[ 17.665s] [cast.receiver.IpcChannel] Received message: {"data":"{\"reason\":\"closed_by_peer\",\"senderId\":\"35:com.MY_APP.AndroidApp-12\",\"type\":\"senderdisconnected\"}","namespace":"urn:x-cast:com.google.cast.system","senderId":"SystemSender"} cast_receiver.js:18
[ 17.676s] [cast.receiver.CastMessageBus] Dispatching CastMessageBus message cast_receiver.js:18
[ 17.682s] [cast.receiver.CastReceiverManager] Dispatching sender disconnected event [35:com.MY_APP.AndroidApp-12] Reason: requested_by_sender cast_receiver.js:18
[ 17.688s] [cast.receiver.CastMessageBus] Unregistering sender [urn:x-cast:com.google.cast.player.message, 35:com.MY_APP.AndroidApp-12] cast_receiver.js:18
[ 17.693s] [cast.receiver.CastMessageBus] Unregistering sender [urn:x-cast:com.google.cast.media, 35:com.MY_APP.AndroidApp-12] cast_receiver.js:18
[ 17.704s] [cast.receiver.CastMessageBus] Disposed CastMessageBus[urn:x-cast:com.google.cast.system] cast_receiver.js:18
[ 17.710s] [cast.receiver.CastMessageBus] Disposed CastMessageBus[urn:x-cast:com.google.cast.player.message] cast_receiver.js:18
[ 17.716s] [cast.receiver.CastMessageBus] Disposed CastMessageBus[urn:x-cast:com.google.cast.media] cast_receiver.js:18
[ 17.729s] [cast.receiver.CastReceiverManager] Disposed CastReceiverManager cast_receiver.js:18
Но я не знаю, в чем причина этой проблемы. Любая помощь будет оценена, спасибо.
Вам необходимо предоставить (1) больше журнала со стороны андроида и (2) журнал консоли из вашего литого устройства. Без них очень трудно понять, что происходит. Кроме того, обновите CCL 1.10, если сможете. Наконец, вообще называется onApplicationConnected? –
Я обновил CCL и onApplicationConnected называется да. Что вы подразумеваете под консольным журналом из моего литого устройства? – Wawa08
Вам необходимо собрать журналы из вашего ресивера, см. Раздел «Отладка» здесь: https://developers.google.com/cast/docs/custom_receiver. Кроме того, добавьте больше журнала с Android-стороны; Мне интересно узнать, что происходит после той части, которую вы показываете; этого недостаточно для устранения неполадок –