他のアプリの実行中に音楽を再生するサービスで構成される音楽アプリに取り組んでいます。
音楽だけを楽しむために、本サービスは他のすべてのアプリをミュートします。そのために、STREAM_MUSIC をミュートし、STREAM_VOICE_CALL で音楽を再生します (ここで他のアプリをミュートするソリューションが見つかりました) 。
サービスはSTREAM_VOICE_CALLを使用して音楽を再生するため、私が見つけようとしているのは、サウンドの再生中に音量ボタンでこのストリームを制御する方法です。
私がすでに試したこと:
- setVolumeControlStream : アクティビティでのみ機能します
- 音量キーが押されたイベントのキャプチャ: サービスはそのようなイベントを受け取りません ( source )
- audioManager.setMode(AudioManager.MODE_IN_CALL) : 私の場合は機能しません。さらに、SDK のドキュメントには、この「モードは、電話をかけるときにテレフォニー アプリケーションでのみ使用する必要がある」と記載されています。
この時点で、私には選択肢がありません。助けていただければ幸いです。ありがとう!