本文共 939 字,大约阅读时间需要 3 分钟。
1:创建一个AudioRecord类
AudioRecord *mpAudioRecord=new AudioRecord(); 2:设置采集参数 2.2版本: mpAudioRecord->set(AUDIO_SOURCE_DEFAULT, 0, 0,AudioSystem::CHANNEL_IN_MONO, 0, 0, AudioRecordCallback, this, 0,0);
2.3版本:(多了一个参数) mpAudioRecord->set(AUDIO_SOURCE_DEFAULT, 0, 0,AudioSystem::CHANNEL_IN_MONO, 0, 0, AudioRecordCallback, this, 0,0,0);
3:检查设置是否成功:
if (mpAudioRecord->initCheck() != NO_ERROR)return -1; //error!
4:启动采集:
mpAudioRecord->start();
5:采集回调函数的定义:
void Caudioplayer::AudioRecordCallback(int event, void* user, void *info)
{ if (event != AudioTrack::EVENT_MORE_DATA) return; Caudioplayer *audioplayer=static_cast<Caudioplayer*>(user); AudioTrack::Buffer *buffer = static_cast<AudioTrack::Buffer *>(info); short *lpOut = buffer->i16; Mutex::Autolock lock(audioplayer->mLock); copy_size=4096>buffer->size?buffer->size:4096; memcpy(tembuffer,lpOut,copy_size); }本文转自 fanxiaojun 51CTO博客,原文链接:http://blog.51cto.com/2343338/998112,如需转载请自行联系原作者