Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> 關於Android編程 >> 實現android按鍵震動按鍵聲音的機制

實現android按鍵震動按鍵聲音的機制

編輯:關於Android編程

按鍵的時候想要調用系統的震動服務,首先得再AndroidMainfest.xml裡面加上相應的權限

然後就是 Vibrator vibrator = (Vibrator) getSystemService(VIBRATOR_SERVICE);
// vibrator.vibrate(3000);
// 設置Vibrate的震動周期
vibrator.vibrate(new long[]{1000,2000,3000,4000}, 0);

這裡再網上找了個寫好的震動的方法類

 

package com.lxb.switchdemo;

import android.app.Activity;
import android.app.Service;
import android.os.Vibrator;
import android.widget.LinearLayout;

/**
 * 手機震動工具類
 * 
 * @author Administrator
 * 
 */
public class VibratorUtil {

	/**
	 * final Activity activity :調用該方法的Activity實例 long milliseconds :震動的時長,單位是毫秒
	 * long[] pattern :自定義震動模式 。數組中數字的含義依次是[靜止時長,震動時長,靜止時長,震動時長。。。]時長的單位是毫秒
	 * boolean isRepeat : 是否反復震動,如果是true,反復震動,如果是false,只震動一次
	 */

	public static void Vibrate(final Activity activity, long milliseconds) {
		Vibrator vib = (Vibrator) activity
				.getSystemService(Service.VIBRATOR_SERVICE);
		vib.vibrate(milliseconds);
	}

	public static void Vibrate(final Activity activity, long[] pattern,
			boolean isRepeat) {
		Vibrator vib = (Vibrator) activity
				.getSystemService(Service.VIBRATOR_SERVICE);
		vib.vibrate(pattern, isRepeat ? 1 : -1);
	}
}
當然在你的activity裡面調用的時候只需要在onclick下加上

 

VibratorUtil.Vibrate(Switch_demoActivity.this, 100);

即可實現簡單的震動機制
 

下來總結下按鍵聲音的機制實現,

 

  1. public class MainActivity extends Activity {
  2. private Button mButton01;
  3. private SoundPool sp;//聲明一個SoundPool
  4. private int music;//定義一個整型用load();來設置suondID
  5.  
  6. @Override
  7. public void onCreate(Bundle savedInstanceState) {
  8.  
  9. super.onCreate(savedInstanceState);
  10. setContentView(R.layout.activity_main);
  11. mButton01=(Button)findViewById(R.id.mButton01);
  12. sp= new SoundPool(10, AudioManager.STREAM_SYSTEM, 5);//第一個參數為同時播放數據流的最大個數,第二數據流類型,第三為聲音質量
  13. music = sp.load(this, R.raw.start, 1); //把你的聲音素材放到res/raw裡,第2個參數即為資源文件,第3個為音樂的優先級
  14.  
  15. mButton01.setOnClickListener(new OnClickListener(){
  16. @Override
  17. public void onClick(View v) {
  18. sp.play(music, 1, 1, 0, 0, 1);
  19. }
  20. }
  21. }
  22. } raw是在res下面新建文件夾,裡面都是不需要編譯的可以直接用的資源文件,當然為了避免在有的機器裡面不能識別按鍵聲音的問日,最好把需要加載的音頻格式轉換成ogg格式。

     

     

  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved