我正在製作音樂應用程序,該應用程序包含在其他應用程序運行時播放音樂的服務。從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