我需要在将音频内容投射到Chromecast遥控器时显示音量滑块。
如果我将应用程序置于背景中,则会显示滑块(请参阅this)。
问题是,当应用程序不在后台时,框架不显示滑块。我猜这是因为应用程序可以决定做其他事情。
我试过打电话
mAudioManager.adjustStreamVolume(AudioManager.STREAM_MUSIC, AudioManager.ADJUST_SAME, AudioManager.FLAG_SHOW_UI);
没有成功:显示的滑块没有Chromecast图标,也没有报告遥控器上的当前音量。换句话说,滑块与本地音频音量相关。
有没有办法要求框架在应用程序位于前台时仍然显示滑块?
被修改 实际上即使使用VideoCast应用程序,行为也有点不一致。在某些手机上,只需将应用程序置于后台并使框架显示音量滑块即可。之后,即使应用程序位于前台,它也会继续显示。在其他手机上,这不起作用,或者没有必要,因为滑块显示正确。
答案 0 :(得分:1)
可以做出一些改进;当媒体播放时(即如果它没有暂停),你可以实现你想要的。要了解具体方法,您需要覆盖onKeyDown
;在课程VideoBrowserActivity
中查看CastVideos-android示例,然后尝试查看它是否符合您的喜好。
答案 1 :(得分:0)
由于您要显示Chromecast控件而不是通用音乐控件,因此您需要调用:
mAudioManager.adjustSuggestedStreamVolume(AudioManager.ADJUST_SAME,
AudioManager.USE_DEFAULT_STREAM_TYPE, AudioManager.FLAG_SHOW_UI);