[轉]android系統各種音量的擷取與設定

來源:互聯網
上載者:User

標籤:

擷取系統音量

通過程式擷取android系統手機的鈴聲和音量。同樣,設定鈴聲和音量的方法也很簡單!

設定音量的方法也很簡單,AudioManager提供了方法:
publicvoidsetStreamVolume(intstreamType,intindex,intflags)其中streamType有內建的常量,去文檔裡面就可以看到。

JAVA代碼:
AudioManager mAudioManager = (AudioManager) getSystemService(Context.AUDIO_SERVICE);

//通話音量

int max = mAudioManager.getStreamMaxVolume( AudioManager.STREAM_VOICE_CALL );
int current = mAudioManager.getStreamVolume( AudioManager.STREAM_VOICE_CALL );
Log.d(“VIOCE_CALL”, “max : ” + max + ” current : ” + current);

//系統音量

max = mAudioManager.getStreamMaxVolume( AudioManager.STREAM_SYSTEM );
current = mAudioManager.getStreamVolume( AudioManager.STREAM_SYSTEM );
Log.d(“SYSTEM”, “max : ” + max + ” current : ” + current);

//鈴聲音量

max = mAudioManager.getStreamMaxVolume( AudioManager.STREAM_RING );
current = mAudioManager.getStreamVolume( AudioManager.STREAM_RING );
Log.d(“RING”, “max : ” + max + ” current : ” + current);

//音樂音量

max = mAudioManager.getStreamMaxVolume( AudioManager.STREAM_MUSIC );
current = mAudioManager.getStreamVolume( AudioManager.STREAM_MUSIC );
Log.d(“MUSIC”, “max : ” + max + ” current : ” + current);

//提示聲音音量

max = mAudioManager.getStreamMaxVolume( AudioManager.STREAM_ALARM );
current = mAudioManager.getStreamVolume( AudioManager.STREAM_ALARM );
Log.d(“ALARM”, “max : ” + max + ” current : ” + current);
ps:
  遊戲過程中只允許調整多媒體音量,而不允許調整通話音量。
  setVolumeControlStream(AudioManager.STREAM_MUSIC);
  長時間不動,不允許黑屏,View.setKeepScreenOn(true);
  估計manifest檔案中需要註冊許可權吧

 

調節媒體音量

AudioManager audio = (AudioManager) getSystemService(Service.AUDIO_SERVICE);

重寫 Activity 的 onKeyDown 方法

? @Override public boolean onKeyDown( int keyCode, KeyEvent event) {      switch (keyCode) {      case KeyEvent.KEYCODE_VOLUME_UP:          audio.adjustStreamVolume(              AudioManager.STREAM_MUSIC,              AudioManager.ADJUST_RAISE,              AudioManager.FLAG_PLAY_SOUND | AudioManager.FLAG_SHOW_UI);          return true ;      case KeyEvent.KEYCODE_VOLUME_DOWN:          audio.adjustStreamVolume(              AudioManager.STREAM_MUSIC,              AudioManager.ADJUST_LOWER,              AudioManager.FLAG_PLAY_SOUND | AudioManager.FLAG_SHOW_UI);          return true ;      default :          break ;      }      return super .onKeyDown(keyCode, event); }

[轉]android系統各種音量的擷取與設定

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.