2015-08-27 68 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

相关问题