我根据声音和视频记录开发了一款Android应用。我想在预览和捕捉视频和声音的同时在耳机中实时播放麦克风音频。
我现在拥有的,单独工作:
1)使用Superpowered库来录制音频并实时播放(在预览和录制期间)。在幕后,它通过将缓冲区推送到输出(耳机),直接用C ++完成AudioRecord的工作。目标是实时对原始声音应用音频效果。
2)使用mediaRecorder
捕获视频当音频播放正在运行时,我尝试启动视频记录,它崩溃了:
E/MediaRecorder: start failed: -2147483648
我想我无法同时启动两个录制过程。我认为使用AudioRecord或Superpowered lib是处理原始音频的好方法,但我无法弄清楚如何在不与当前录音冲突的情况下录制视频。
那么有没有办法实现我的功能?
(minSdk 16)
答案 0 :(得分:2)
根据bigflake
MediaCodec类首次在Android 4.1(API 16)中推出。添加它是为了允许直接访问设备上的媒体编解码器。
在Android 4.3(API 18)中,MediaCodec已扩展为包含一种通过Surface提供输入的方法(通过createInputSurface方法)。这允许输入来自相机预览或OpenGL ES渲染。
因此,如果可能,请考虑将MinSDK增加到18并使用AudioVideoRecordingSample或HWEncoderExperiments作为示例。