Android电话API

接听电话

mTelecomManager =  getSystemService("telecom");
mTelecomManager.acceptRingingCall();  

静音

mAudioManager =  getSystemService("audio");
mAudioManager.setParameters("incall_music_mute=true");

联发科

耳机插上时
Set_SpeechCall_UL_Mute=1
未插耳机时
Set_SpeechCall_UL_Mute=1;rcv_mux=off

对应地,取消静音则是

Set_SpeechCall_UL_Mute=0
或
Set_SpeechCall_UL_Mute=0;rcv_mux=on

请求音频焦点

.requestAudioFocus()

录音

int buf_len = AudioRecord.getMinBufferSize(16000, 16, 2);
audioRecord = new AudioRecord(3, 16000, 16, 2, buf_len);  //  inputSource=3 (AUDIO_SOURCE_VOICE_DOWNLINK)
audioRecord.startRecording();
short[] buf = new short[buf_len];
audioRecord.read(buf, 0, buf_len);

音频源定义

    AUDIO_SOURCE_VOICE_UPLINK = 2,
    AUDIO_SOURCE_VOICE_DOWNLINK = 3,
    AUDIO_SOURCE_VOICE_CALL = 4,

流媒体类型定义

    AUDIO_STREAM_VOICE_CALL       = 0,
    AUDIO_STREAM_SYSTEM           = 1,
    AUDIO_STREAM_RING             = 2,
    AUDIO_STREAM_MUSIC            = 3,

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注