我想用Android手机驾驶遥控车。 我使用蓝牙耳机作为接收器。 我的手机发送DTMF音,当它被耳机接收时,它被分析 微控制器打开/关闭汽车电机。
我用加速计检测手机动作......(前/左/右/后) 并且在每次运动中它都会播放特定的DTMF音色。
一切正常但有问题:
当传感器值连续变化时,音调会大量播放!
问题:我怎样才能让音调播放一次? (如代码中所示)
这是代码:
X = (TextView)findViewById(R.id.x);
Y = (TextView)findViewById(R.id.y);
Z = (TextView)findViewById(R.id.z);
toneGenerator= new ToneGenerator(AudioManager.STREAM_DTMF,ToneGenerator.MAX_VOLUME);
sel = new SensorEventListener(){
public void onAccuracyChanged(Sensor sensor, int accuracy) {
}
public void onSensorChanged(SensorEvent event) {
float[] values = event.values;
float x = values[0];
float xx = Math.round(x) ;
float y = values[1];
float yy = Math.round(y) ;
float z = values[2];
float zz = Math.round(z) ;
X.setText("x:" + xx);
Y.setText("y:" + yy);
Z.setText("z:" + zz);
if (xx>-1 & xx<1 & zz>3 & zz<8 ) {
state.setText ("normal");
toneGenerator.startTone(ToneGenerator.TONE_DTMF_5);
new CountDownTimer(50, 500) {
public void onTick(long millisUntilFinished) { }
public void onFinish() {
toneGenerator.stopTone();
}}.start();
}
if (xx>-1 & xx<1 & zz>8 ) {
state.setText ("front");
toneGenerator.startTone(ToneGenerator.TONE_DTMF_2);
new CountDownTimer(50, 500) {
public void onTick(long millisUntilFinished) { }
public void onFinish() {
toneGenerator.stopTone();
}}.start();
任何建议???
答案 0 :(得分:0)
这有点困难,因为人类不能忍受100%的身体任何部位。
您是否尝试将手机放在桌子上以查看其发生的情况?