97干视频,99国产精品懂色,亚洲精品99久久久久中文字幕,伊人五月丁香综合AⅤ,国产精品成人免费999

  您的位置:華清遠(yuǎn)見教育科技集團(tuán) >> 新聞動(dòng)態(tài) >> Android資料 >> Android音頻記錄的處理  
 
Android音頻記錄的處理
分享到:

1.AudioRecord

AudioRecord和AudioTrack相對(duì)應(yīng),用于音頻記錄。AudioRecord的可選采樣頻率為44100Hz、22050Hz、11025Hz,通道配置為CHANNEL_IN_MONO、CHANNEL_IN_STEREO,音頻格式為ENCODING_PCM_16BIT、ENCODING_PCM_8BIT。

AudioRecord的常用方法包括:

read() //從硬件音頻設(shè)備中記錄數(shù)據(jù)到緩沖中。
    startRecording() //開始音頻記錄
    stop() //停止音頻記錄
    setRecordPositionUpdateListener()//設(shè)置AudioRecord.OnRecordPositionUpdateListener監(jiān)聽器AudioRecord的記錄狀態(tài)包括RECORDSTATE_STOPPED、RECORDSTATE_RECORDING等。

AudioRecord自身的狀態(tài)包括STATE_INITIALIZED、STATE_UNINITIALIZED等。

下面是利用AudioRecord的方法:

mAudioRecord=new AudioRecord(MediaRecorder.AudioSource.DEFAULT, mHz,
    AudioFormat.CHANNEL_CONFIGURATION_MONO,AudioFormat.ENCODING_PCM_16BIT,
    AudioRecord.getMinBufferSize(mHz,AudioFormat.CHANNEL_CONFIGURATION_MONO,
                    AudioFormat.ENCODING_PCM_16BIT) * 10);
    mAudioRecord.startRecording();

2.MediaRecorder

在Android中,錄制音頻和視頻常采用的是MediaRecorder接口。為了錄制音頻文件,需要設(shè)置音頻源、輸出格式、錄制時(shí)間、編碼格式等。錄制音頻文件的過程如下:

代碼10-2 MediaRecorder錄制音頻文件


    private MediaRecorder mMediaRecorder;
    …
    //設(shè)置音頻源為麥克風(fēng)
    mMediaRecorder.setAudioSource(MediaRecorder.AudioSource.MIC);
    //設(shè)置輸出格式為3gp
    mMediaRecorder.setOutputFormat(MediaRecorder.OutputFormat.THREE_GPP);
    //設(shè)置大錄制時(shí)間
    mMediaRecorder.setMaxDuration(MAX_DURATION_MSEC);
    //設(shè)置音頻編碼格式
    mMediaRecorder.setAudioEncoder(MediaRecorder.AudioEncoder.AMR_NB);
    mMediaRecorder.prepare();
    mMediaRecorder.start(); //開始錄制

當(dāng)有錯(cuò)誤發(fā)生時(shí),為了能夠監(jiān)聽到相關(guān)的消息,可以為MediaRecorder設(shè)置監(jiān)聽器。方法如下:


    private final RecorderErrorCallback mRecorderErrorCallback=new RecorderErrorCallback();
    …
    private final class RecorderErrorCallback implements MediaRecorder.OnErrorListener {
            public void onError(MediaRecorder mr, int what, int extra) {
                assertTrue("mediaRecorder error", false);
            }
        }
    …
    mMediaRecorder.setOnErrorListener(mRecorderErrorCallback); //設(shè)置錯(cuò)誤監(jiān)聽器

 
 更多相關(guān)文章

·Android AudioManager音量控制流程
·Android音頻處理的基本接口
·Android編譯過程詳解(三)
·Android HAL 開發(fā)
·Android編譯過程詳解(二)