private void connect(MediaRouter.RouteInfo route) { client= new RemotePlaybackClient(getActivity().getApplication(), route); if (client.isRemotePlaybackSupported()) { logToTranscript(getActivity().getString(R.string.connected)); if (client.isSessionManagementSupported()) { client.startSession(null, new SessionActionCallback() { @Override public void onResult(Bundle data, String sessionId, MediaSessionStatus sessionStatus) { logToTranscript(getActivity().getString(R.string.session_started)); updateMenu(); } @Override public void onError(String error, int code, Bundle data) { logToTranscript(getActivity().getString(R.string.session_failed)); } }); } else { getActivity().supportInvalidateOptionsMenu(); } } else { logToTranscript(getActivity().getString(R.string.remote_playback_not_supported)); client=null; } }
private void connect(MediaRouter.RouteInfo route) { client= new RemotePlaybackClient(getApplicationContext(), route); if (client.isRemotePlaybackSupported()) { String url=preso.getSlideURL(pager.getCurrentItem()); client.play(Uri.parse(url), "image/png", null, 0, null, playCB); } else { client=null; } }
private void disconnect() { if (client != null) { client.release(); client=null; } router.getDefaultRoute().select(); }
private void disconnect() { isPlaying=false; isPaused=false; if (client != null) { logToTranscript(getActivity().getString(R.string.session_ending)); EndSessionCallback endCB=new EndSessionCallback(); if (client.isSessionManagementSupported()) { client.endSession(null, endCB); } transcript.postDelayed(endCB, 1000); } }
@Override public void connect(RouteInfo route) { mRoute = route; mClient = new RemotePlaybackClient(mContext, route); mClient.setStatusCallback(mStatusCallback); if (DEBUG) { Log.d(TAG, "connected to: " + route + ", isRemotePlaybackSupported: " + mClient.isRemotePlaybackSupported() + ", isQueuingSupported: "+ mClient.isQueuingSupported()); } }
private void play() { logToTranscript(getActivity().getString(R.string.play_requested)); ItemActionCallback playCB=new ItemActionCallback() { @Override public void onResult(Bundle data, String sessionId, MediaSessionStatus sessionStatus, String itemId, MediaItemStatus itemStatus) { logToTranscript(getActivity().getString(R.string.playing)); isPlaying=true; getActivity().supportInvalidateOptionsMenu(); } @Override public void onError(String error, int code, Bundle data) { logToTranscript(getActivity().getString(R.string.play_error) + error); } }; client.play(Uri.parse("http://misc.commonsware.com/ed_hd_512kb.mp4"), "video/mp4", null, 0, null, playCB); }
public RemotePlaybackClientAssert doesNotHaveRemotePlaybackSupported() { isNotNull(); assertThat(actual.isRemotePlaybackSupported()) // .overridingErrorMessage("Expected to not have remote playback supported but did.") // .isFalse(); return this; }
public RemotePlaybackClientAssert doesNotHaveSessionManagementSupported() { isNotNull(); assertThat(actual.isSessionManagementSupported()) // .overridingErrorMessage("Expected to not have session management supported but did.") // .isFalse(); return this; } }
@Override public void enqueue(final PlaylistItem item) { throwIfQueuingUnsupported(); if (!mClient.hasSession() && !mEnqueuePending) { mEnqueuePending = true; if (mClient.isSessionManagementSupported()) { startSession(item); } else { enqueueInternal(item); } } else if (mEnqueuePending){ mTempQueue.add(item); } else { enqueueInternal(item); } }
private void logToTranscript(String msg) { if (client != null) { String sessionId=client.getSessionId(); if (sessionId != null) { msg="(" + sessionId + ") " + msg; } } transcript.setText(transcript.getText().toString() + msg + "\n"); scroll.fullScroll(View.FOCUS_DOWN); }
@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); } }); }
@Override public void resume() { if (!mClient.hasSession()) { // ignore if no session return; } if (DEBUG) { Log.d(TAG, "resume"); } mClient.resume(null, new SessionActionCallback() { @Override public void onResult(Bundle data, String sessionId, MediaSessionStatus sessionStatus) { logStatus("resume: succeeded", sessionId, sessionStatus, null, null); if (mCallback != null) { mCallback.onPlaylistChanged(); } } @Override public void onError(String error, int code, Bundle data) { logError("resume: failed", error, code); } }); }
private void resume() { logToTranscript(getActivity().getString(R.string.resume_requested)); ResumeCallback resumeCB=new ResumeCallback(); client.resume(null, resumeCB); transcript.postDelayed(resumeCB, 1000); }
private void pause() { logToTranscript(getActivity().getString(R.string.pause_requested)); PauseCallback pauseCB=new PauseCallback(); client.pause(null, pauseCB); transcript.postDelayed(pauseCB, 1000); }
private void endSession() { mClient.endSession(null, new SessionActionCallback() { @Override public void onResult(Bundle data, String sessionId, MediaSessionStatus sessionStatus) { logStatus("endSession: succeeded", sessionId, sessionStatus, null, null); } @Override public void onError(String error, int code, Bundle data) { logError("endSession: failed", error, code); } }); }
private void startSession(final PlaylistItem item) { mClient.startSession(null, new SessionActionCallback() { @Override public void onResult(Bundle data, String sessionId, MediaSessionStatus sessionStatus) { logStatus("startSession: succeeded", sessionId, sessionStatus, null, null); enqueueInternal(item); } @Override public void onError(String error, int code, Bundle data) { logError("startSession: failed", error, code); } }); }
private void disconnect() { isPlaying=false; isPaused=false; if (client != null) { logToTranscript(getActivity().getString(R.string.session_ending)); EndSessionCallback endCB=new EndSessionCallback(); if (client.isSessionManagementSupported()) { client.endSession(null, endCB); } transcript.postDelayed(endCB, 1000); } }
private void play() { logToTranscript(getActivity().getString(R.string.play_requested)); ItemActionCallback playCB=new ItemActionCallback() { @Override public void onResult(Bundle data, String sessionId, MediaSessionStatus sessionStatus, String itemId, MediaItemStatus itemStatus) { logToTranscript(getActivity().getString(R.string.playing)); isPlaying=true; updateMenu(); } @Override public void onError(String error, int code, Bundle data) { logToTranscript(getActivity().getString(R.string.play_error) + error); } }; client.play(Uri.parse("http://misc.commonsware.com/ed_hd_512kb.mp4"), "video/mp4", null, 0, null, playCB); }
public RemotePlaybackClientAssert hasRemotePlaybackSupported() { isNotNull(); assertThat(actual.isRemotePlaybackSupported()) // .overridingErrorMessage("Expected to have remote playback supported but did not.") // .isTrue(); return this; }
public RemotePlaybackClientAssert hasSessionManagementSupported() { isNotNull(); assertThat(actual.isSessionManagementSupported()) // .overridingErrorMessage("Expected to have session management supported but did not.") // .isTrue(); return this; }