java - 如何从 chromecast android 获取播放和停止事件回调

标签 java android google-chrome chromecast

我想在 chromecast 音频更改播放模式(播放/停止)时获取回调事件并执行一些功能

我怎样才能让应用程序播放/停止事件,以便我在该事件上完成我的工作。

请检查我已实现的以下逻辑。

 private void setupCastListener() {
        mSessionManagerListener = new SessionManagerListener<CastSession>() {

            @Override
            public void onSessionEnded(CastSession session, int error) {
                onApplicationDisconnected();
            }

            @Override
            public void onSessionResumed(CastSession session, boolean wasSuspended) {
                onApplicationConnected(session);
            }

            @Override
            public void onSessionResumeFailed(CastSession session, int error) {
                onApplicationDisconnected();
            }

            @Override
            public void onSessionStarted(CastSession session, String sessionId) {
                onApplicationConnected(session);
            }

            @Override
            public void onSessionStartFailed(CastSession session, int error) {
                onApplicationDisconnected();
            }

            @Override
            public void onSessionStarting(CastSession session) {
            }

            @Override
            public void onSessionEnding(CastSession session) {
            }

            @Override
            public void onSessionResuming(CastSession session, String sessionId) {

                if(mCastSession!=null && isChromeCastConnected){
                  try {
                      if (session.isMute()) {
                          mStopPlayButton.setImageResource(R.drawable.ic_play);
                          isChromeCastPlay = false;
                          //mCastSession.setMute(!mCastSession.isMute());
                      } else {
                          mStopPlayButton.setImageResource(R.drawable.ic_stop);
                          isChromeCastPlay = true;
                          //mCastSession.setMute(!mCastSession.isMute());
                      }
                  } catch (Exception e) {
                      e.printStackTrace();
                  }
              }
            }

            @Override
            public void onSessionSuspended(CastSession session, int reason) {
            }
        };
    }

请告诉我。谢谢

最佳答案

最后在MediaControlIntent下面找到了远程媒体播放和暂停模式的回调。

Remote Playback Routes

mMediaRouter = MediaRouter.getInstance(this);
mSelector = new MediaRouteSelector.Builder()
            .addControlCategory(MediaControlIntent.CATEGORY_REMOTE_PLAYBACK)
            .build();

关于java - 如何从 chromecast android 获取播放和停止事件回调,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42686956/

相关文章:

java - 用Java替换XML文件中的数据

google-chrome - Google Logo 、 map 图 block 和其他 Google 图像无法在 Chrome 中加载 (HTTP 400)

javascript - Visual Studio 2012 未命中断点 javascript

java - 如何检查具有动态名称的参数/集合是否存在?

java - 如何使用 poi 将 jtable 保存到 Excel(包括标题)?

android - AlarmManager 适合写时钟部件吗?

java - Android 自定义 View 不起作用

Android webrtc 不适用于 3g、4g

javascript - Chrome 扩展 - 在全屏视频顶部显示自定义通知/弹出窗口(HTML 元素)

java - 在Java中查找既是三角形数又是星形数的数字