手が近接センサの近くにあるときに繰り返し音を鳴らし、センサー。これは私が書いたコードです。近接センサーの近くに行くと音声が再生されますが、手が離れると音声が止まらなくなります。助言がありますか?前もって感謝します。人が近接センサの近くにいて、離れて移動したときに停止すると、繰り返しの音声を再生する方法
public class MainActivity extends Activity implements SensorEventListener {
private SensorManager sensorManager;
private Sensor proxy;
TextView tv;
MediaPlayer mp;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
sensorManager = (SensorManager) getSystemService(SENSOR_SERVICE);
proxy = sensorManager.getDefaultSensor(Sensor.TYPE_PROXIMITY);
tv = (TextView) findViewById(R.id.tv);
//tv.setText("Maximum range = " + proxy.getMaximumRange() + proxy.getName());
}
@Override
protected void onPause() {
super.onPause();
sensorManager.unregisterListener(this);
}
@Override
protected void onResume() {
super.onResume();
sensorManager.registerListener(this,proxy,SensorManager.SENSOR_DELAY_NORMAL);
}
@Override
public void onSensorChanged(SensorEvent event) {
if(event.sensor.getType() == Sensor.TYPE_PROXIMITY){
mp = MediaPlayer.create(this,R.raw.alarm);
if(event.values[0] < proxy.getMaximumRange()){
mp.start();
mp.setLooping(true);
}
else{
mp.stop();
}
//tv.setText("SEnsor NOT activated");
}
}
@Override
public void onAccuracyChanged(Sensor sensor, int accuracy) {
}
}
コードが機能していません。 oncreate関数で作成されたオーディオはまったく再生されません。 – Shri
エラーがありますか?それともうまくいきませんか? mp = MediaPlayer.create(this、R.raw.alarm)を置き換えることができます。 mp = MediaPlayer.create(this.getApplicationContext()、R.raw.alarm);を使用します。 –
まだ動作しません。それはエラー(-38,0)を与えます – Shri