Android提供的系統服務之–AudioManager(音頻管理器)
—-轉載請註明出處:coder-pig
AudioManager相關簡介與常用方法圖:
vcD4KPHA+PHN0cm9uZz688rWltcTKudPDwP3X0zo8L3N0cm9uZz48L3A+CjxwPjxzdHJvbmc+yrnTw01lZGlhcGxheWVysqW3xdL0wNYszai5/UF1ZGlvTWFuYWdlcrX3vdrS9MG/tPPQodPrvrLS9Do8L3N0cm9uZz48L3A+CjxwPjxzdHJvbmc+1eLA7yzO0sPH0OjSqrDR0qqypbfFtcTS9Ma1zsS8/rfFtb1yZXPPwrXEcmF3zsS8/rzQLNXiuPbOxLz+vNDErMjPysfDu9PQtcQs0OjSqtfUvLq0tL2oxbYhPC9zdHJvbmc+PC9wPgo8cD48c3Ryb25nPtPDwLS3xdStyfrXytS0tcQsvs3Kx7TysPyx4NLrtcTKsbrysru74bDRy/ux5LPJtv69+NbGzsS8/iEhITwvc3Ryb25nPjwvcD4KPHA+PGJyPgo8L3A+CjxwPjxzdHJvbmc+z8jAtL+0v7TQp7n7zbywyTo8L3N0cm9uZz48L3A+CjxwPjxpbWcgc3JjPQ==”/uploadfile/Collfiles/20141106/20141106081344152.gif” alt=”\”>
就是播放音樂,然後調高音量的時候可以看到滑動條,然後調低音量那裡就設置成瞭聲音,不顯示滑動條:
這個是有adjustStreamVolume()方法的第三個參數決定的!
好瞭開始代碼的編寫吧:
簡單的佈局:activity_main.xml:
接著是MainActivity.java:
package com.jay.example.audiomanagerdemo; import android.app.Activity; import android.app.Service; import android.media.AudioManager; import android.media.MediaPlayer; import android.os.Bundle; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; public class MainActivity extends Activity implements OnClickListener{ private MediaPlayer mePlayer; private AudioManager aManager; private Button btnstart; private Button btnstop; private Button btnhigher; private Button btnlower; private Button btnquite; //定義一個標志用來標示是否點擊瞭靜音按鈕 private int flag = 1; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); btnstart = (Button) findViewById(R.id.btnstart); btnstop = (Button) findViewById(R.id.btnstop); btnhigher = (Button) findViewById(R.id.btnhigher); btnlower = (Button) findViewById(R.id.btnlower); btnquite = (Button) findViewById(R.id.btnquite); //獲得系統的音頻對象 aManager = (AudioManager) getSystemService(Service.AUDIO_SERVICE); //初始化mediaplayer對象,這裡播放的是raw文件中的mp3資源 mePlayer = MediaPlayer.create(MainActivity.this, R.raw.one); //設置循環播放: mePlayer.setLooping(true); btnstart.setOnClickListener(this); btnstop.setOnClickListener(this); btnhigher.setOnClickListener(this); btnlower.setOnClickListener(this); btnquite.setOnClickListener(this); } @Override public void onClick(View v) { switch (v.getId()) { case R.id.btnstart: btnstop.setEnabled(true); mePlayer.start(); btnstart.setEnabled(false); break; case R.id.btnstop: btnstart.setEnabled(true); mePlayer.pause(); btnstop.setEnabled(false); break; case R.id.btnhigher: // 指定調節音樂的音頻,增大音量,而且顯示音量圖形示意 aManager.adjustStreamVolume(AudioManager.STREAM_MUSIC, AudioManager.ADJUST_RAISE, AudioManager.FLAG_SHOW_UI); break; case R.id.btnlower: // 指定調節音樂的音頻,降低音量,隻有聲音,不顯示圖形條 aManager.adjustStreamVolume(AudioManager.STREAM_MUSIC, AudioManager.ADJUST_LOWER, AudioManager.FLAG_PLAY_SOUND); break; case R.id.btnquite: // 指定調節音樂的音頻,根據isChecked確定是否需要靜音 flag *= -1; if(flag == -1) { aManager.setStreamMute(AudioManager.STREAM_MUSIC,true); btnquite.setText("取消靜音"); } else { btnquite.setText("靜音"); aManager.setStreamMute(AudioManager.STREAM_MUSIC,false); } break; } } }
代碼也是非常簡單的,這裡就不過多的講解瞭!
另外還有一點要註意的:如果adjustStreamVolume()的第三個參數你設置瞭振動(Vibrator),需要在AndroidManifest.xml
中添加這個權限哦!
本節demo下載:AudioManager簡單使用demo下載