读书人

android音频采摘

发布时间: 2012-10-16 09:57:37 作者: rapoo

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)

读书人网 >Android

热点推荐