2015-08-27 70 views

回答

0

VisualizerView鏈接到MediaPlayer,而不是MediaRecorder。

您不必通過MediaRecorder實時的AudioEncoder裏面發生了什麼訪問,只接受任何可能發生的錯誤...

也許如果你的音頻保存到一個文件,然後對其進行處理可以解決你的問題嗎?

http://developer.android.com/guide/topics/media/audio-capture.html

+0

,我也這樣做,有兩個選擇其中一個播放錄製的聲音,其中一個正在錄製和播放錄製的聲音正常工作。現在,我想在錄製視頻的同時添加一個可視化工具。 – dodo

+0

根據Android Developers文檔中的Visualizer類描述:「Visualizer類使應用程序能夠爲可視化目的檢索部分當前播放的音頻。」注意「播放音頻」部分。據我所知,它在錄製時不可用... –

1

最後我有一個喜歡解決方案,它是不是很難做到這一點。有一種方法可以實時捕獲fft數據。這裏是我的exapmle,

recordingThread = new VisualizerAudioRecordingThread(fileName, new VisualizerAudioRecordingHandler() { 
     //pass file name where to store the recorded audio 
     @Override 
     public void onFftDataCapture(final byte[] bytes) { 
      onActivity.runOnUiThread(new Runnable() { 
       public void run() { 
        if (Dialog.mVisualizerView != null) { 
         Dialog.mVisualizerView.updateVisualizerFFT(bytes); //update VisualizerView with new audio portion 
        } 
       } 
      }); 
     } 

     @Override 
     public void onRecordSuccess() { 
     } 

     @Override 
     public void onRecordingError() {} 

     @Override 
     public void onRecordSaveError() {} 
    }); 
    recordingThread.start(); 
    } 

下面是完整的例子,在那裏我得到這個信息, https://github.com/steelkiwi/AndroidRecording

相關問題