質問: ### 前提・実現したいこと monacaでAndroid専用の目覚ましアプリケーションを開発しているのですが、端末の一部音量設定(マナーモードやメディア音量)を参照せずに、アラーム音量やアプリ内での設定によって音量をコントロールする方法を知りたいです。 ※monacaでのバックグラウンド処理はサポートされていないので、起動したまま放置して扱うタイプの目覚ましアプリにしようと考えています。 ### 試したこと メディア操作 プラグイン このサイトを参考にし、media.setVolumeを変更してみたのですが、Androidのメディア音量が0だと音が聞こえない状態になりました。
回答: `Monaca`も`Cordova`も門外漢ですので、わけのわからないことを言っていたら、ごめんなさい。 `cordova-plugin-media`は`STREAM_MUSIC`しか扱いません。また、再生中しか`STREAM_MUSIC`を掴んでいないようです。そのため、アラーム音量でやるというのは無しです。 関連質問 Cordova - Cordova「メディア操作 プラグイン」で端末のボリュームボタンを操作すると「着信/通知音量」の調節になってしまう(77583)|teratail 以下、`AudioHandler.java`より抜粋 ``` private void onFirstPlayerCreated() { origVolumeStream = cordova.getActivity().getVolumeControlStream(); cordova.getActivity().setVolumeControlStream(AudioManager.STREAM_MUSIC); } private void onLastPlayerReleased() { if (origVolumeStream != -1) { cordova.getActivity().setVolumeControlStream(origVolumeStream); origVolumeStream = -1; } } ``` 事前に設定した音楽再生音量の値を保存し、`media.play()`後に、再度`media.setVolume`で音楽再生音量の値を設定してやるのが良いのかなと愚考します。