您的位置:首页 > 其它

一个测试马达和听筒的activity

2013-12-08 23:01 375 查看
工程模式中,测试马达功能和听筒是否正常也是测试项目的一部分。简单的测试可如下:

(1)使用的特定import

import android.media.AudioManager;
import android.media.MediaPlayer;
import android.os.Vibrator;


需要在XML中添加马达特定权限

<uses-permission android:name="android.permission.VIBRATE" ></uses-permission>
(2)activity内容

Vibrator mVibrator;
	AudioManager am;
	public MediaPlayer myPlayer1;
	private int mSystemVol_music = 0;   //保存当前music音量
	private int mSystemVol_voice = 0;   //保存当前voice音量
onCreate函数

mVibrator = (Vibrator) getSystemService(Context.VIBRATOR_SERVICE);
		am= (AudioManager) getSystemService(Context.AUDIO_SERVICE);
		myPlayer1 = new MediaPlayer();
		myPlayer1 = MediaPlayer.create(MainActivity.this, R.raw.masque);  //添加一个音频文件
		try{
			setVolumeControlStream(AudioManager.STREAM_VOICE_CALL);
			am.setMode(AudioManager.MODE_IN_CALL);   //当前activity的audio mode
						
			mSystemVol_music= am.getStreamVolume(AudioManager.STREAM_MUSIC);
			int vol_max_music = am.getStreamMaxVolume(AudioManager.STREAM_MUSIC);	
			am.setStreamVolume(AudioManager.STREAM_MUSIC, vol_max_music, 0);
			
			mSystemVol_voice = am.getStreamVolume(AudioManager.STREAM_VOICE_CALL);	
			int vol_max_voice = am.getStreamMaxVolume(AudioManager.STREAM_VOICE_CALL);	
			am.setStreamVolume(AudioManager.STREAM_VOICE_CALL, vol_max_voice, 0);
			
			if(myPlayer1.isPlaying()==true)
			{
				myPlayer1.reset();
			}
			myPlayer1.setLooping(true);
			myPlayer1.start();
		}catch (IllegalStateException e){
			e.printStackTrace();
		}
		
		mVibrator.vibrate(new long[]{100, 300, 150, 400}, 1);
onDestroy函数

myPlayer1.stop();
		
		am.setStreamVolume(AudioManager.STREAM_VOICE_CALL, mSystemVol_voice, 0);
		am.setStreamVolume(AudioManager.STREAM_MUSIC, mSystemVol_music, 0);   //恢复默认音量
		setVolumeControlStream(AudioManager.STREAM_MUSIC);			
		am.setMode(AudioManager.MODE_NORMAL);
		mVibrator.cancel();
		super.onDestroy();
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: