我在一个使用接近感应器的项目中工作,我的程序应该在接近感应器被覆盖时将手机静音,并在传感器未覆盖时将其恢复到正常状态。我设法编写了传感器何时被覆盖的代码,但我不知道当传感器被覆盖时的值。当传感器被覆盖时,我需要一个代码来取消静音。
@Override
public void onSensorChanged(SensorEvent event) {
audio.setRingerMode(AudioManager.RINGER_MODE_SILENT);
}
发布于 2013-04-05 13:58:32
public void onSensorChanged(SensorEvent event) {
// TODO Auto-generated method stub
if(event.sensor.getType()==Sensor.TYPE_PROXIMITY){
if(event.values[0]<5){ audio.setRingerMode(AudioManager.RINGER_MODE_youwant);}else{ audio.setRingerMode(AudioManager.RINGER_MODE_SILENT);}
}
}
发布于 2013-04-05 13:59:28
这是静音/取消静音的代码
AudioManager mAudioManager = (AudioManager) this.getSystemService(Context.AUDIO_SERVICE);
int current_volume =mAudioManager.getStreamVolume(AudioManager.STREAM_MUSIC);
//If you want to player is mute ,then set_volume variable is zero.Otherwise you may supply some value.
int set_volume=0;
mAudioManager.setStreamVolume(AudioManager.STREAM_MUSIC,set_volume, 0);
https://stackoverflow.com/questions/15826709
复制相似问题