本文属于Android局域网内的语音对讲项目系列,《通过UDP广播实现Android局域网Peer Discovering》实现了局域网内的广播及多播通信,本文将重点说明系统架构,音频信号的实时录制、播放及编解码相关技术。
本文主要包含以下内容:
AudioRecord、AudioTrack
Speex编解码
Android语音对讲系统架构
一、AudioRecord、AudioTrack
AudioRecorder和AudioTracker是Android中获取实时音频数据的接口。在网络电话、语音对讲等场景中,由于实时性的要求,不能采用文件传输,因此,MediaRecorder和MediaPlayer就无法使用。
AudioRecorder和AudioTracker是Android在Java层对libmedia库的封装,所以效率较高,适合于实时语音相关处理的应用。在使用时,AudioRecorder和AudioTracker的构造器方法入参较多,这里对其进行详细的解释。
AudioRecord
public AudioRecord(int audioSource, int sampleRateInHz, int channelConfig, int audioFormat, int bufferSizeInBytes)
其中,audioSource
表示录音来源,在AudioSource
中列举了不同的音频来源,包括:
网友评论