Android的audio流的类型有以下12种:
/* The audio stream for phone calls */ public static final int STREAM_VOICE_CALL = 0;//通话连接时的音频流(通话声) /* The audio stream for system sounds */ public static final int STREAM_SYSTEM = 1;//系统音频流 /* The audio stream for the phone ring and message alerts */ public static final int STREAM_RING = 2;//来电铃声 /* The audio stream for music playback */ public static final int STREAM_MUSIC = 3;//媒体音频流 /* The audio stream for alarms */ public static final int STREAM_ALARM = 4;//闹钟音频流 /* The audio stream for notifications */ public static final int STREAM_NOTIFICATION = 5;//通知音频流 /* @hide The audio stream for phone calls when connected on bluetooth */ public static final int STREAM_BLUETOOTH_SCO = 6;//从注释上看时使用蓝牙耳机通话的音频流 /* @hide The audio stream for enforced system sounds in certain countries (e.g camera in Japan) */ public static final int STREAM_SYSTEM_ENFORCED = 7;//一些国家强制使用的音频流??不太明白 /* @hide The audio stream for DTMF tones */ public static final int STREAM_DTMF = 8;//DTMF音频流 /* @hide The audio stream for text to speech (TTS) */ public static final int STREAM_TTS = 9;//TTS: Text to Speech:文件到语言的音频流,即机器说话 /* @hide The audio stream for Fm */ public static final int STREAM_FM = 10;//FM的音频流 /* @hide The audio stream for MATV */ public static final int STREAM_MATV = 11;//TV的音频流 每种音频流所规定的最大值: /** @hide Maximum volume index values for audio streams */ private int[] MAX_STREAM_VOLUME = new int[] { 6, // STREAM_VOICE_CALL 7, // STREAM_SYSTEM 7, // STREAM_RING 12, // STREAM_MUSIC 7, // STREAM_ALARM 7, // STREAM_NOTIFICATION 15, // STREAM_BLUETOOTH_SCO 7, // STREAM_SYSTEM_ENFORCED 15, // STREAM_DTMF 15, // STREAM_TTS 13, //STREAM_FM 13 //stream_MATV };
public boolean performClick() { sendAccessibilityEvent(AccessibilityEvent.TYPE_VIEW_CLICKED); if (mOnClickListener != null) { playSoundEffect(SoundEffectConstants.CLICK); mOnClickListener.onClick(this); return true; } return false; }
从这里可以看到与用户接口onClickListener结合起来了,当用户注册了clickListener,则调用发出按键音函数playSoundEffect ()和响应用户写好的clickListener的onClick()方法。这里playSoundEffect函数传的参数SoundEffectContants.CLICK为多少呢,从SoundEffectConstants.java可知SoundEffectConstants.CLICK = 0:
浙公网安备 33010602011771号