我正在播放一些来自Androids MediaPlayer服务的音乐。在播放音乐时,可以通过音量摇杆键改变音乐音量。但是,我不希望用户可以在播放过程中更改音乐音量。
如何做到这一点?
当获取keydown事件并返回true时,这是可能的,但只有当应用程序在顶部时才有效。因为我从一个服务中播放音乐,所以它也会在关闭屏幕或应用程序在后台时播放,所以音量仍然可以改变。
我的另一个想法是打电话给
setVolumeControlStream( AudioManager.STREAM_RING );
在开始播放音乐之后,但我不能从服务调用它,只能从活动调用它……
或者可以在另一个流(铃声或闹铃)上播放音乐,但让音量摇杆仍然改变音乐流?
有什么想法吗?
发布于 2012-05-15 19:57:04
‘当应用程序在后台时,您不能截获密钥,而不是侦听KeyPress本身。您可以注册ContentObserver’
发布于 2012-05-19 02:55:32
由于我还没有找到另一种方法,如果音量发生了变化,我会以每秒5次的速度检查计时器。如果有,我会把它改回来。
这是一个非常丑陋的解决方案,但它是有效的,如果没有其他方法可以做到这一点,我不得不这样做。
唯一可怕的是,当你按下音量摇杆时,音量对话框就会出现。有没有办法禁用音量对话框?
或者你知道一个更好的解决方案?
https://stackoverflow.com/questions/10600127
复制相似问题