如何从 chromecast 获取播放和停止事件回调 android
How to get play and stop event callback from chromecast android
我想在 chromecast 音频更改播放模式时获取回调事件并执行某些功能(play/stop)
如何将 play/stop 事件发送到应用程序,以便我处理该事件。
请检查我已实现的以下逻辑。
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) {
}
};
}
请告诉我。谢谢
您需要在那里阅读这个 documentation, and focus on RemoteMediaClient and the Listener 界面。当播放状态发生变化时,回调 onStatusUpdated() 将被调用。上面第一个 link 上提供的教程非常有用,因此请务必阅读那里的内容。
终于在MediaControlIntent下面找到了远程媒体播放和暂停模式的回调。
mMediaRouter = MediaRouter.getInstance(this);
mSelector = new MediaRouteSelector.Builder()
.addControlCategory(MediaControlIntent.CATEGORY_REMOTE_PLAYBACK)
.build();
我想在 chromecast 音频更改播放模式时获取回调事件并执行某些功能(play/stop)
如何将 play/stop 事件发送到应用程序,以便我处理该事件。
请检查我已实现的以下逻辑。
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) {
}
};
}
请告诉我。谢谢
您需要在那里阅读这个 documentation, and focus on RemoteMediaClient and the Listener 界面。当播放状态发生变化时,回调 onStatusUpdated() 将被调用。上面第一个 link 上提供的教程非常有用,因此请务必阅读那里的内容。
终于在MediaControlIntent下面找到了远程媒体播放和暂停模式的回调。
mMediaRouter = MediaRouter.getInstance(this);
mSelector = new MediaRouteSelector.Builder()
.addControlCategory(MediaControlIntent.CATEGORY_REMOTE_PLAYBACK)
.build();