android音量制御setVolumeControlStream

1794 ワード

マルチメディアアプリケーションやゲームアプリケーションを開発する場合は、ボリュームコントロールキーを使用してプログラムのボリュームサイズを設定する必要があります.Androidシステムには複数のオーディオストリームがあり、Activityの関数setVolumeControllStream(int streamType)によってこのActivityにおける音量制御キーによって制御されるオーディオストリームを設定することができ、一般的にonCreate関数で設定される.Androidには次のようなオーディオストリームがあります(streamTypeは音量を調整するタイプです):AudioManager.STREAM_MUSIC/音楽再生すなわちメディアボリュームAudioManager.STREAM_RING/着メロAudioManager.STREAM_ALARM/アラームAudioManager.STREAM_NOTIFICATION/ウィンドウ上部ステータスバー通知音AudioManager.STREAM_SYSTEM/システムAudioManager.STREAM_VOICECALL/通話AudioManager.STREAM_DTMF/デュアルオーディオマルチ周波数
AudioManager      Android     ,      AudioManager            .     AudioManager  :
AudioManager am=(AudioManager)getSystemService(Context.AUDIO_SERVICE);

         ,      ,          ,         ,           .1、   
public void adjustStreamVolume(intstreamType, intdirection, intflags)

am.adjustStreamVolume(AudioManager.STREAM_MUSIC, AudioManager.ADJUST_RAISE, AudioManager.FLAG_SHOW_UI);

        
   streamType          ,         ,   :
STREAM_ALARM   
STREAM_MUSIC          
STREAM_NOTIFICATION        Notification,
STREAM_RING   
STREAM_SYSTEM   
STREAM_VOICE_CALL   
STREAM_DTMF     

   direction,      ,     ,   :
ADJUST_LOWER     
ADJUST_RAISE     
ADJUST_SAME     ,                

   flags       ,        
FLAG_PLAY_SOUND          
FLAG_SHOW_UI         ,           
0       

2、          :
public void setStreamVolume(intstreamType, intindex, intflags)
am.setStreamVolume(AudioManager.STREAM_MUSIC, am.getStreamMaxVolume(AudioManager.STREAM_MUSIC), AudioManager.FLAG_PLAY_SOUND);

am.getStreamMaxVolume(AudioManager.STREAM_VOICE_CALL);//          
am.getStreamVolume(AudioManager.STREAM_VOICE_CALL);//          
                          int ,getStreamMaxVolume(int streamType)             ,               ,         .