Androidシステムのボリュームを設定する

私は以下を扱うアプリケーションを書いています:

  1. サイレント - 電話の音量を無音にする
  2. 低 - 電話の音量を無音の1ポイント上にします。
  3. メディア - 電話のボリュームをメディアにする
  4. 高 - 電話の音量を最大にする

電話の音量には、リンガー、ビデオ、オーディオ、ゲーム音量などが含まれます。

AudioManager でサイレントモードを実現する方法を知っています。しかし、2-4では、役に立つコードスニペットを見つけることができませんでした。私は何をする必要がありますか?

2
私は AudioManager.setStreamVolume(int、int、int)は、これらの設定に特定の音量を設定できるようにするべきだと思います。ストリームタイプに関しては、例えば、 AudioManager.STREAM_RING リンガーにボリュームが設定されていると思います。
追加された 著者 harism,

2 答え

これをコードの onCreate()メソッドに追加し、0を使用して音量を増減させて0をOFFにします。

AudioManager mgr=null;

mgr=(AudioManager)getSystemService(Context.AUDIO_SERVICE);
mgr.setStreamVolume(AudioManager.STREAM_MUSIC, 0, AudioManager.FLAG_REMOVE_SOUND_AND_VIBRATE);
mgr.setStreamVolume(AudioManager.STREAM_RING, 0, AudioManager.FLAG_REMOVE_SOUND_AND_VIBRATE);
mgr.setStreamVolume(AudioManager.STREAM_ALARM, 0, AudioManager.FLAG_REMOVE_SOUND_AND_VIBRATE);
mgr.setStreamVolume(AudioManager.STREAM_SYSTEM, 0, AudioManager.FLAG_REMOVE_SOUND_AND_VIBRATE);
mgr.setStreamVolume(AudioManager.STREAM_NOTIFICATION, 0, AudioManager.FLAG_REMOVE_SOUND_AND_VIBRATE);
16
追加された

Check out http://thinkandroid.wordpress.com/2010/04/05/dealing-with-the-android-media-player/

手順は次のとおりです。

  • オーディオマンを入手してください。
  • 必要なストリームを取得します。
  • ストリーム上で適切なメソッドを呼び出します。

例えば。:

mAudioManager.adjustStreamVolume(AudioManager.STREAM_MUSIC, AudioManager.ADJUST_RAISE, AudioManager.FLAG_SHOW_UI);
  • to get max vol:

    int maxVolume = mAudioManager.getStreamMaxVolume(AudioManager.STREAM_MUSIC);
    
1
追加された