android音频采集
视音频包:http://download.csdn.net/detail/fanxiaojun66/4565705
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)