2017-03-09 43 views
3

我想回調事件並執行某些功能時,Chromecast的音頻變化有播放模式(播放/停止)如何獲得播放和停止的Chromecast的Android

我怎樣才能播放/停止事件,事件回調應用程序,所以我會在那個事件上做我的工作。

請檢查下面我已經實施的邏輯。

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) { 
      } 
     }; 
    } 

請讓我知道。謝謝

+0

不是Chrome應用問題。 –

+0

在此處查找相關解決方案: https://stackoverflow.com/questions/19645972/chromecast-sdk-android-is-there-a-way-to-check-whether-the-media-playing-on/48852727# 48852727 – Shivang

回答

2

最後,我發現了MediaControlIntent下面的遠程媒體播放和暫停模式回調。

Remote Playback Routes

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

您需要閱讀此documentation,並着重於和Listener接口那裏。當播放狀態發生變化時,將調用onStatusUpdated()的回調函數。上面第一個鏈接上提供的教程非常豐富,所以請確保你閱讀了有關的內容。

+0

謝謝你的回答。你能否給我詳細說明我將使用哪種eventcallback方法。因爲我嘗試了所有的文檔方法,但沒有得到播放/停止事件。 –

+0

我已經提到過這個回調的名字。結帳https://github.com/googlecast/CVideosVideos-android/blob/master/src/com/google/sample/cast/refplayer/mediaplayer/LocalPlayerActivity.java#L339 –

+0

根據你的回答和消息,我已經實施了一切,但在發件人應用程序中仍然沒有得到chromecast播放/停止按鈕事件(回調監聽器)。請幫幫我。在此先感謝 –