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」的控制更少,但使用起來更簡單,而且對於大多數使用情況 –