android实现震动和声音

直接上类  震动和声音是一起的

public class TipHelper {
	static Context myContext;
	static Vibrator vibrator;
	static MediaPlayer mediaPlayer;
	
	public TipHelper (Context context){
		myContext=context;
		vibrator=(Vibrator)myContext.getSystemService(Service.VIBRATOR_SERVICE);
		mediaPlayer=new MediaPlayer();
	}
	/**
	 * 震动功能
	 * @param activit
	 * @param milliseconds 震动时长 单位为毫秒
	 */
	public static void Vibrate(long milliseconds){
		
//		long [] pattern={100,400,100,400};//停止 开启  停止 开启
//		vibrator.vibrate(pattern, 2);//重复两次上面的panttern,如果只是震动一次,index的值设定为-1
		vibrator.vibrate(milliseconds);
	}
	/**
	 * 震动功能
	 * @param activity
	 * @param pattern 自定义震动(模式)周期 long[] pattern={100,400,100,400}//停止 开启 停止 开启
	 * @param isRepeat
	 */
	public static void Vibrate(long[] pattern,boolean isRepeat){
		vibrator.vibrate(pattern, isRepeat?1:-1);
	}
	/**
	 * 停止震动与响铃
	 */
	public static void destroy(){
		vibrator.cancel();
		mediaPlayer.stop();//停止
		mediaPlayer.release();//释放资源
	}
	
	/**
	 * 提示音
	 * @param FLAG 标识符为1时提示超速警告   标识符为2时提示越界警告
	 */
	public static void playvoid(int FLAG){
		try{
			mediaPlayer.reset();
			mediaPlayer.setLooping(true);//重复播放
			Uri uri = null;
			if(FLAG==1){
				uri=Uri.parse("android.resource://" + myContext.getPackageName() + "/"+R.raw.overspeed);//raw文件夹下的yes音频文件,使用的时候要注意修改			
			}
			else if(FLAG==2){
				uri=Uri.parse("android.resource://" + myContext.getPackageName() + "/"+R.raw.overzone);//raw文件夹下的yes音频文件,使用的时候要注意修改			
				
			}
			//mediaPlayer.create(MainActivity.this, R.raw.yes);
			mediaPlayer.setDataSource(myContext, uri);//设置文件员
			mediaPlayer.setAudioStreamType(AudioManager.STREAM_RING);
			mediaPlayer.prepare();//添加缓存
			mediaPlayer.setOnPreparedListener(new OnPreparedListener() {
				
				@Override
				public void onPrepared(MediaPlayer mp) {
					mediaPlayer.start();//开始播放
				}
			});
		}catch (Exception e) {
			// TODO: handle exception
		}
	}
}
	


  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值