1

嘿我试图开发屏幕录像应用程序,它将记录屏幕的内容以及麦克风输入。我能够实现视频录制,但我找不到有关将麦克风输入添加到mediaMuxer的任何信息。 我知道我可以使用mediarecorder类,但我怎么可以将mediarecorder添加到muxer? 到目前为止,我发现了这些代码。添加麦克风输入到MediaMuxer Android

MediaFormat audioFormat = new MediaFormat(...); 
int audioTrackIndex = muxer.addTrack(audioFormat); 

虽然我可以将音频格式添加到复用器,但我不确定如何将麦克风输入添加到复用器。有人能指出我正确的方向还是提供某种样本代码?

+0

一种可能的方法:只使用MediaRecorder。从API 21开始,您可以从MediaRecorder获得输入Surface并将视频发送到该平台 - 您不再限制摄像机输入。 – fadden

+0

我可以做到这一点,但我想坚持mediaMuxer,因为它比mediaRecorder更灵活。 –

回答

0

媒体录音机比媒体复用器更好的替代采取输入来自MIC录音时屏幕

mMediaRecorder.setAudioSource(MediaRecorder.AudioSource.MIC); 
     mMediaRecorder.setVideoSource(MediaRecorder.VideoSource.SURFACE); 
     mMediaRecorder.setOutputFormat(MediaRecorder.OutputFormat.MPEG_4); 
     mMediaRecorder.setVideoEncoder(MediaRecorder.VideoEncoder.H264); 
     mMediaRecorder.setAudioEncoder(MediaRecorder.AudioEncoder.AMR_NB); 
     mMediaRecorder.setVideoEncodingBitRate(512 * 1000); 
     mMediaRecorder.setVideoFrameRate(30); 
     mMediaRecorder.setVideoSize(DISPLAY_WIDTH, DISPLAY_HEIGHT); 
     mMediaRecorder.setOutputFile("/sdcard/capture.mp4"); 

here是完整的代码。

+0

我不会说“好多了”。与MediaMuxer相比,“MediaRecorder”的控制更少,但使用起来更简单,而且对于大多数使用情况 –