我正在制作音乐应用程序,该应用程序包含在其他应用程序运行时播放音乐的服务。从Android上的服务设置音量控制流
为了享受音乐和只有音乐,服务静音所有其他应用程序。为了做到这一点,静音STREAM_MUSIC和播放音乐超过STREAM_VOICE_CALL(发现解决静音其他应用here)
由于服务使用STREAM_VOICE_CALL播放音乐,我想要找到一种方法使声音播放时,音量按钮可控制此流。
我已经尝试过:
- setVolumeControlStream:只能在活动
- 捕获音量键按下事件:服务没有收到这样的事件(source)
- audioManager.setMode(AudioManager.MODE_IN_CALL) :在我的情况下不起作用。此外,SDK documentation指出,此“模式只能在电话应用程序拨打电话时使用”。
在这一点上,我没有选择和任何帮助,将不胜感激。谢谢!
你想玩什么样的声音?通过耳机或通过扬声器的东西?是否有理由需要使用STREAM_VOICE_CALL?你不能使用STREAM_MUSIC吗? – Nick 2012-08-09 21:10:06
该服务是音乐播放器的一部分,声音是音乐。该服务还将STREAM_MUSIC设为静音,以便将其他应用设为静音,以便音乐不会与声音混杂在一起,这就是为什么我使用另一个流。 – 2012-08-10 08:23:28
通过选择将所有其他应用程序静音并强制自己使用其他应用程序流,您会让自己陷入困境。用户将无法检测到事件是否发生,如果他们正在收听只会播放声音。就个人而言,我不想要这样的解决方案。 – tolgap 2012-08-13 21:38:04