I'm running into an issue where, when two devices are connected to the same cast session and when BaseCastManager.setDeviceMute()
is called from device 1, device 2 does not receive a MediaCallback.onRouteVolumeChanged()
What's the proper way to do this? Is there perhaps a different callback?
Here's what eventually gets called.
/**
* Mutes or un-mutes the device volume.
*
* @throws CastException
* @throws NoConnectionException
* @throws TransientNetworkDisconnectionException
*/
public final void setDeviceMute(boolean mute) throws CastException,
TransientNetworkDisconnectionException, NoConnectionException {
checkConnectivity();
try {
Cast.CastApi.setMute(mApiClient, mute);
} catch (IOException e) {
throw new CastException("setDeviceMute", e);
} catch (IllegalStateException e) {
throw new NoConnectionException("setDeviceMute()", e);
}
}
Here's my listener:
private class MediaCallBack extends android.support.v7.media.MediaRouter.Callback {
@Override
public void onRouteVolumeChanged(MediaRouter router,
RouteInfo route) {
super.onRouteVolumeChanged(router, route);
onVolumeChanged(route.getVolume());
}
}