Android:同时录制原始音频和录制视频
Android: Record raw audio and record video at the same time
我开发了一个 Android 基于声音和视频记录的应用程序。我想在预览和捕获视频和声音的同时实时播放耳机中的麦克风音频。
我现在拥有的,一个人工作很好:
1) 使用 Superpowered 库录制音频并实时回放(在预览和录制期间)。在幕后,它通过将缓冲区推送到输出(耳机)直接使用 C++ 完成 AudioRecord 的工作。目标是实时对原始声音应用音频效果。
2) 使用 mediaRecorder
捕获视频
当音频播放为 运行 时,我尝试启动视频录制,它开始崩溃:
E/MediaRecorder: start failed: -2147483648
我想我不能同时启动两个录制过程。我认为使用 AudioRecord 或 Superpowered 库是处理原始音频的好方法,但我不知道如何在不与当前录音冲突的情况下录制视频。
那么有什么方法可以实现我的功能吗?
(minSdk 16)
根据bigflake
The MediaCodec class first became available in Android 4.1 (API 16). It was added to allow direct access to the media codecs on the device.
In Android 4.3 (API 18), MediaCodec was expanded to include a way to provide input through a Surface (via the createInputSurface method). This allows input to come from camera preview or OpenGL ES rendering.
因此,如果可能,请考虑将 MinSDK 增加到 18,并使用 AudioVideoRecordingSample or HWEncoderExperiments 作为示例。
我开发了一个 Android 基于声音和视频记录的应用程序。我想在预览和捕获视频和声音的同时实时播放耳机中的麦克风音频。
我现在拥有的,一个人工作很好:
1) 使用 Superpowered 库录制音频并实时回放(在预览和录制期间)。在幕后,它通过将缓冲区推送到输出(耳机)直接使用 C++ 完成 AudioRecord 的工作。目标是实时对原始声音应用音频效果。
2) 使用 mediaRecorder
捕获视频当音频播放为 运行 时,我尝试启动视频录制,它开始崩溃:
E/MediaRecorder: start failed: -2147483648
我想我不能同时启动两个录制过程。我认为使用 AudioRecord 或 Superpowered 库是处理原始音频的好方法,但我不知道如何在不与当前录音冲突的情况下录制视频。
那么有什么方法可以实现我的功能吗?
(minSdk 16)
根据bigflake
The MediaCodec class first became available in Android 4.1 (API 16). It was added to allow direct access to the media codecs on the device.
In Android 4.3 (API 18), MediaCodec was expanded to include a way to provide input through a Surface (via the createInputSurface method). This allows input to come from camera preview or OpenGL ES rendering.
因此,如果可能,请考虑将 MinSDK 增加到 18,并使用 AudioVideoRecordingSample or HWEncoderExperiments 作为示例。