2010年7月7日 星期三

Android學習筆記 - 音量調整(AudioManager)

1. 音量調整主要是透過AudioManager來對手機音量進行調整,可以調整的模式有:正常模式、靜音模式、震動模式、音量增大、音量減少。

2.AudioManagerExample .java
package tw.nicky;
import android.app.Activity;
import android.content.Context;
import android.media.AudioManager;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;

public class AudioManagerExample extends Activity {
    private Button normalButn;
    private Button vibrateButn;
    private Button silentButn;
    private Button upButn;
    private Button downButn;
    private AudioManager audioManager;
    
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        normalButn = (Button)findViewById(R.id.normalButn);
        vibrateButn = (Button)findViewById(R.id.vibrateButn);
        silentButn = (Button)findViewById(R.id.silentButn);
        upButn = (Button)findViewById(R.id.upButn);
        downButn = (Button)findViewById(R.id.downButn);
        
        //取得音量控制器
        audioManager = (AudioManager)getSystemService(Context.AUDIO_SERVICE);
        
        //正常模式
        normalButn.setOnClickListener(new View.OnClickListener() {
   @Override
   public void onClick(View v) {
    audioManager.setRingerMode(AudioManager.RINGER_MODE_NORMAL);
   }
  });
        
        //震動模式
        vibrateButn.setOnClickListener(new View.OnClickListener() {
   
   @Override
   public void onClick(View v) {
    audioManager.setRingerMode(AudioManager.RINGER_MODE_VIBRATE);
   }
  });
        
        //靜音模式
        silentButn.setOnClickListener(new View.OnClickListener() {
   @Override
   public void onClick(View v) {
    audioManager.setRingerMode(AudioManager.RINGER_MODE_SILENT);
   }
  });
        
        //增大音量
        upButn.setOnClickListener(new View.OnClickListener() {
   @Override
   public void onClick(View v) {
    audioManager.adjustVolume(AudioManager.ADJUST_RAISE, 0);
   }
  });
        
        //減少音量
        downButn.setOnClickListener(new View.OnClickListener() {
   @Override
   public void onClick(View v) {
    audioManager.adjustVolume(AudioManager.ADJUST_LOWER, 0);
   }
  });
    }
}

3. main.xml(Layout)
<?xml version="1.0" encoding="utf-8"?>
<AbsoluteLayout
android:id="@+id/widget0"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
xmlns:android="http://schemas.android.com/apk/res/android"
>
<Button
android:id="@+id/vibrateButn"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="震動"
android:layout_x="106px"
android:layout_y="16px"
>
</Button>
<Button
android:id="@+id/silentButn"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="靜音"
android:layout_x="189px"
android:layout_y="14px"
>
</Button>
<Button
android:id="@+id/normalButn"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="正常"
android:layout_x="28px"
android:layout_y="17px"
>
</Button>
<Button
android:id="@+id/upButn"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="大聲"
android:layout_x="66px"
android:layout_y="97px"
>
</Button>
<Button
android:id="@+id/downButn"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="小聲"
android:layout_x="144px"
android:layout_y="97px"
>
</Button>
</AbsoluteLayout>



4. 執行畫面


1 則留言:

  1. 哈哈

    最近在研究這個功能

    公司要在軟體中增加語音撥放系統



    沒想到你也研究過了

    多謝

    回覆刪除