`
fanxiaojun
  • 浏览: 54664 次
  • 性别: Icon_minigender_2
  • 来自: 广州
社区版块
存档分类
最新评论

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)

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics