2016-10-11 3 views
1

사운드 및 비디오 레코드를 기반으로 Android 앱을 개발합니다. 미리 듣고 비디오 및 사운드를 캡처하는 동안 헤드폰에서 마이크 오디오를 실시간으로 재생하고 싶습니다.Android : 원시 오디오를 녹음하고 동시에 비디오를 녹화하십시오.

내가 뭘 잘 혼자 작업, 지금이 : 오디오를 녹음 할

1) 강력 하진 라이브러리를 사용하고 다시 실시간으로 재생 (미리보기 및 기록 중). 뒤에서 버퍼를 출력 (헤드폰)으로 밀어 AudioRecord의 작업을 C++에서 직접 처리합니다. 목표는 원시 사운드에 오디오 효과를 실시간으로 적용하는 것입니다.

E/MediaRecorder: start failed: -2147483648 

나는이 녹음을 시작할 수 없습니다 상상 :

2)은 시작 충돌, 오디오 재생이 실행 중일 때, 나는 영상 기록을 시작하려고 mediaRecorder

으로 비디오를 캡처 동시에 처리. AudioRecord 또는 Superpowered lib를 사용하는 것이 원시 오디오를 처리하는 좋은 방법이라고 생각하지만 현재 오디오 레코딩과 충돌하지 않고 비디오를 레코딩하는 방법을 알아낼 수 없습니다.

내 기능을 구현하는 방법이 있습니까?

(minSdk 16)

+0

나는 비디오를위한 audioSource없이 MediaRecorder를 사용하여 동시에 녹음 할 수있다. (또한 MediaModer없이 api16없이 MediaCodec의 복잡성을 피한다.) 그리고 오디오를위한 나의 Superpowered lib. 그 후 ffmpeg를 사용하여 두 파일을 병합합니다. – ddp

답변

1

따르면 bigflake

MediaCodec 클래스는 최초의 안드로이드 4.1 (API 16)에서 사용 가능하게되었다. 장치의 미디어 코덱에 직접 액세스 할 수 있도록 추가되었습니다.

Android 4.3 (API 18)에서 MediaCodec은 (CreateInputSurface 메소드를 통해) Surface를 통해 입력을 제공하는 방법을 포함하도록 확장되었습니다. 이를 통해 카메라 미리보기 또는 OpenGL ES 렌더링에서 입력을받을 수 있습니다.

그래서 가능하다면 18 MinSDK 증가에 대해 생각하고 예로 AudioVideoRecordingSample 또는 HWEncoderExperiments을 사용하십시오.

+0

사실 저는 18 개까지 늘릴 수 없습니다. 미리보기를 얻을 수 있습니다. – ddp

+0

MediaCodec을 사용하여 surfaceView에서 카메라의 미리보기를 관리 할 수 ​​있습니다. 내가 동시에 파일에 기록 할 레코드에 대해서. 일반적으로 내 오디오 파트는 동시에 녹음 할 수 있습니다. – ddp

+0

오디오와 비디오 사이에 대기 시간이 있습니다 –

관련 문제