AudioRecord使用
AudioRecord record = new AudioRecord(
MediaRecorder.AudioSource.MIC, sampleRate, channelConfig, audioFormat, bufferSize);
常用
AudioSource.DEFAULT // 默认音频源
AudioSource.MIC // 主麦克风
AudioSource.CAMCORDER // 与摄像头方向一致的麦克风
AudioSource.VOICE_RECOGNITION // 语音识别
AudioSource.VOICE_COMMUNICATION // 语音通话(回声消除等)
AudioSource.UNPROCESSED // 原始未处理的音频(Android 6.0+)
// 语音通话相关(需要特殊权限)
AudioSource.VOICE_UPLINK // 上行语音(发送)
AudioSource.VOICE_DOWNLINK // 下行语音(接收)
AudioSource.VOICE_CALL // 双向语音通话
系统级 AudioSource
AudioSource.VOICE_PERFORMANCE // 高性能语音(低延迟)
AudioSource.REMOTE_SUBMIX // 录制系统音频输出(需要权限)
AudioSource.ECHO_REFERENCE // 回声参考信号
AudioSource.RADIO_TUNER // 调谐器音频输入
AudioSource.HOTWORD // 热词检测
AudioSource.ULTRASOUND // 超声波音频
AudioTrack使用
/** Used to identify the volume of audio streams for notifications /
public static final int STREAM_NOTIFICATION = AudioSystem.STREAM_NOTIFICATION;
/ * @hide Used to identify the volume of audio streams for phone calls when connected
to bluetooth /
public static final int STREAM_BLUETOOTH_SCO = AudioSystem.STREAM_BLUETOOTH_SCO;
/ @hide Used to identify the volume of audio streams for enforced system sounds
in certain countries (e.g camera in Japan) /
public static final int STREAM_SYSTEM_ENFORCED = AudioSystem.STREAM_SYSTEM_ENFORCED;
/ * Used to identify the volume of audio streams for DTMF Tones /
public static final int STREAM_DTMF = AudioSystem.STREAM_DTMF;
/ * @hide Used to identify the volume of audio streams exclusively transmitted through the
speaker (TTS) of the device /
public static final int STREAM_TTS = AudioSystem.STREAM_TTS;
/ * Used to identify the volume of audio streams for accessibility prompts /
public static final int STREAM_ACCESSIBILITY = AudioSystem.STREAM_ACCESSIBILITY;
/ * @hide Used to identify the volume of audio streams for virtual assistant */
public static final int STREAM_ASSISTANT = AudioSystem.STREAM_ASSISTANT;