我正在使用Androids MediaPlayer播放一些音乐。播放音乐时,可以通过音量摇杆键更改音乐音量。但是我不希望用户在播放期间更改音乐音量。
如何做到这一点?
获取keydown事件并返回true是可能的,但这仅在应用程序位于顶部时才有效。由于我从服务中播放音乐,因此在屏幕关闭或背景中的应用程序时也会播放,因此音量仍可以更改。
我的另一个想法是打电话
setVolumeControlStream( AudioManager.STREAM_RING );
在开始播放音乐之后,我不能从服务中调用它,而只能从活动中调用...
或者是否可以在另一个音乐节上播放音乐(铃声或闹钟),但是音量摇杆还是会改变音乐流吗?
有什么想法吗?
答案 0 :(得分:0)
'当您的应用程序处于后台时,您无法拦截密钥,而是不会收听KeyPress本身。您可以注册ContentObserver'
答案 1 :(得分:0)
由于我还没有找到另一种方法,如果音量已经改变,我会每秒检查一次计时器大约5次。如果有,我改回来。
这是一个非常难看的解决方案,但它有效,如果没有其他方法可以做到这一点,我必须这样做。
唯一真正可怕的是,按音量摇杆时会显示音量对话框。有没有办法禁用音量对话框?
或者您知道更好的解决方案吗?