【问题标题】:Adding microphone input to MediaMuxer Android将麦克风输入添加到 MediaMuxer Android
【发布时间】:2023-03-12 22:17:01
【问题描述】:

嘿,我正在尝试开发可以记录屏幕内容和麦克风输入的截屏应用。我能够实现视频录制,但我找不到任何关于将麦克风输入添加到 mediaMuxer 的信息。 我知道我可以使用 mediarecorder 类,但是我怎样才能将 mediarecorder 添加到复用器? 到目前为止,我已经找到了这段代码。

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

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

【问题讨论】:

  • 一种可能的方法:只需使用 MediaRecorder。从 API 21 开始,您可以从 MediaRecorder 获取输入 Surface 并将视频发送到该输入 - 您不再局限于相机输入。
  • 我可以这样做,但我想坚持使用 mediaMuxer,因为它比 mediaRecorder 更灵活。

标签: android mediarecorder android-audiorecord mediamuxer android-mediaprojection


【解决方案1】:

在录制屏幕时从 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 是完整代码。

【讨论】:

  • 我不会说“好多了”。与MediaMuxer 相比,MediaRecorder 提供的控制更少,尽管它更易于使用,并且足以满足大多数用例
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-10-21
  • 2014-02-07
  • 2011-08-09
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多