setup para home google extension chrome app android google-cast chromecast

android - para - google chromecast



RemotePlaybackClient, stop() no recibe devoluciĆ³n de llamada (1)

Creo que todas las Respuestas residen en cómo haces la conexión. Porque en el código de Google, el código dice que el cliente que usted ha hecho no debe abandonar la sesión y no debe estar vacío.

if (!mClient.hasSession()) { // ignore if no session return; }

/ ********* El resto del código sería inalcanzable *********** /

@Override public void pause() { if (!mClient.hasSession()) { // ignore if no session return; } if (DEBUG) { Log.d(TAG, "pause"); } mClient.pause(null, new SessionActionCallback() { @Override public void onResult(Bundle data, String sessionId, MediaSessionStatus sessionStatus) { logStatus("pause: succeeded", sessionId, sessionStatus, null, null); if (mCallback != null) { mCallback.onPlaylistChanged(); } } @Override public void onError(String error, int code, Bundle data) { logError("pause: failed", error, code); } }); }

Estoy intentando escribir una aplicación de ejemplo RemotePlaybackClient , en parte porque la publicada por Google se bloquea aapt .

Puedo hacer que RemotePlaybackClient compatible con play() , y reproduce un video en un Chromecast.

Sin embargo, cuando llamo a stop() , para detener la reproducción del video, mientras que el Chromecast detiene la reproducción (mostrando una pantalla negra con un ícono de SessionActionCallback centrado), el SessionActionCallback que paso a la llamada stop() no recibe llamadas. onResult() :

private void stop() { logToTranscript(getActivity().getString(R.string.stop_requested)); SessionActionCallback stopCB=new SessionActionCallback() { @Override public void onResult(Bundle data, String sessionId, MediaSessionStatus sessionStatus) { logToTranscript(getActivity().getString(R.string.stopped)); isPlaying=false; isPaused=false; getActivity().supportInvalidateOptionsMenu(); endSession(); } }; client.stop(null, stopCB); }

Lo mismo ocurre si intento pause() : el SessionActionCallback pasado a pause() no se invoca.

El código de muestra publicado por Google muestra que se deben invocar estas devoluciones de llamada, pero, nuevamente, no puedo hacer que se compile correctamente.

¿Alguien sabe bajo qué circunstancias el SessionActionCallback no funcionaría, mientras que el ItemActionCallback usado con play() funcionaría?

ACTUALIZAR

He presentado el número 66996 y el número 67032 , el último de los cuales es específicamente el problema que estoy viendo aquí, ya que me encuentro con este mismo problema con la aplicación de muestra oficial.