Android(安卓)设置声音时出现按键音
static AudioManager tMyAudioManager;
tMyAudioManager = (AudioManager) tMyContext.getSystemService(Context.AUDIO_SERVICE);
tMyAudioManager.setStreamVolume(AudioManager.STREAM_MUSIC, tInputVal, AudioManager.FLAG_PLAY_SOUND);
每次调用setStreamVolume时都会出现按键音,查了一下AudioMabager.java后来发现是第三个参数的原因
public static final int FLAG_PLAY_SOUND = 1 << 2;
/**
* Removes any sounds/vibrate that may be in the queue, or are playing (related to
* changing volume).
*/
public static final int FLAG_REMOVE_SOUND_AND_VIBRATE = 1 << 3;
/**
* Whether to vibrate if going into the vibrate ringer mode.
*/
public static final int FLAG_VIBRATE = 1 << 4;
/**
* Indicates to VolumePanel that the volume slider should be disabled as user
* cannot change the stream volume
* @hide
*/
public static final int FLAG_FIXED_VOLUME = 1 << 5;
/**
* Ringer mode that will be silent and will not vibrate. (This overrides the
* vibrate setting.)
*
* @see #setRingerMode(int)
* @see #getRingerMode()
*/
public static final int RINGER_MODE_SILENT = 0;
/**
* Ringer mode that will be silent and will vibrate. (This will cause the
* phone ringer to always vibrate, but the notification vibrate to only
* vibrate if set.)
*
* @see #setRingerMode(int)
* @see #getRingerMode()
*/
public static final int RINGER_MODE_VIBRATE = 1;
/**
* Ringer mode that may be audible and may vibrate. It will be audible if
* the volume before changing out of this mode was audible. It will vibrate
* if the vibrate setting is on.
*
* @see #setRingerMode(int)
* @see #getRingerMode()
*/
public static final int RINGER_MODE_NORMAL = 2;
// maximum valid ringer mode value. Values must start from 0 and be contiguous.
private static final int RINGER_MODE_MAX = RINGER_MODE_NORMAL;
/**
* Vibrate type that corresponds to the ringer.
*
* @see #setVibrateSetting(int, int)
* @see #getVibrateSetting(int)
* @see #shouldVibrate(int)
* @deprecated Applications should maintain their own vibrate policy based on
* current ringer mode that can be queried via {@link #getRingerMode()}.
*/
public static final int VIBRATE_TYPE_RINGER = 0;
/**
* Vibrate type that corresponds to notifications.
*
* @see #setVibrateSetting(int, int)
* @see #getVibrateSetting(int)
* @see #shouldVibrate(int)
* @deprecated Applications should maintain their own vibrate policy based on
* current ringer mode that can be queried via {@link #getRingerMode()}.
*/
public static final int VIBRATE_TYPE_NOTIFICATION = 1;
/**
* Vibrate setting that suggests to never vibrate.
*
* @see #setVibrateSetting(int, int)
* @see #getVibrateSetting(int)
* @deprecated Applications should maintain their own vibrate policy based on
* current ringer mode that can be queried via {@link #getRingerMode()}.
*/
public static final int VIBRATE_SETTING_OFF = 0;
/**
* Vibrate setting that suggests to vibrate when possible.
*
* @see #setVibrateSetting(int, int)
* @see #getVibrateSetting(int)
* @deprecated Applications should maintain their own vibrate policy based on
* current ringer mode that can be queried via {@link #getRingerMode()}.
*/
public static final int VIBRATE_SETTING_ON = 1;
/**
* Vibrate setting that suggests to only vibrate when in the vibrate ringer
* mode.
*
* @see #setVibrateSetting(int, int)
* @see #getVibrateSetting(int)
* @deprecated Applications should maintain their own vibrate policy based on
* current ringer mode that can be queried via {@link #getRingerMode()}.
*/
public static final int VIBRATE_SETTING_ONLY_SILENT = 2;
/**
* Suggests using the default stream type. This may not be used in all
* places a stream type is needed.
*/
public static final int USE_DEFAULT_STREAM_TYPE = Integer.MIN_VALUE;
更多相关文章
- android 调用摄像头
- Android(安卓)中文 API (16) ―― AnalogClock
- Android异步处理二:使用AsyncTask异步更新UI界面
- Android(安卓)第三方应用监听home键
- Android(安卓)onActivityResult()不执行的几个原因
- Android(安卓)Framework 基础理解
- 【Android】Android的JNI基础编程
- Android(安卓)图形系统SurfaceFlinger
- Android(安卓)OpenGL ES学习笔记之实现OpenGL ES接口