2011-04-20 2 views
4

Android 개발에 처음 왔고 첫 번째 응용 프로그램에 오디오 녹음을 허용하는 응용 프로그램을 만들었습니다. 오디오 녹음은 오디오 재생과 함께 작동합니다. 애플리케이션에서 누락 된 한 가지는 vu 미터 형태로 녹음하는 동안 사용자에게 피드백입니다. iOS 플랫폼에는 응용 프로그램에 사용할 수있는 내장 된 vu 미터가 있다고 생각합니다. 안드로이드 플랫폼에서 동일한 기능을 찾을 수 없었습니다.Android에서 오디오를 녹음 할 때 VU (오디오) 미터

나는 안드로이드 개발과 구글 검색에 관한 여러 가지 포럼을 찾고 있었지만 유용한 것은 아무것도 발견하지 못했다.

오디오 녹음을위한 디지털 VU 미터의 코딩 예를 아는 사람이 있습니까?

녹음을 할 때 피드백을 표시하는 코딩 예제를 아는 사람이 있습니까?

답변

0
+0

아, 우수 기사, 정말 고마워. 질문 하나 더 드릴까요? 기사 중 하나에서 MediaRecorder를 사용하여 참조되며 MediaRecorder.getMaxAmplitude 함수를 사용합니다. 이 함수가없는 AudioRecord 클래스를 사용하고 있습니다. getMaxAmplitude를 대체하는 등가 계산에 대한 아이디어. – Coffman

+0

@Coffman - 죄송합니다. 오디오 시스템을 많이 다루지 않았습니다. 내 제안은 Tricoder 응용 프로그램과 같은 소스 코드를 체크 아웃하고 당신이해야 할 일을하는지 확인하는 것입니다. –

2

자신 만의 VU 미터를 써야하지만 그다지 어렵지는 않습니다.

먼저, 가장 최근의 오디오 샘플 세트의 현재 최대 진폭을 확인하십시오. AudioRecord로 채우는 버퍼를 반복하고 가장 높은 값을 기록하십시오. 이것이 MediaPlayer.getAmplitude가 내부적으로하는 일입니다.

진폭이 생겼으므로 바늘이나 계속 크기를 조정하는 사각형 (높이 = MAX_RECT_HEIGHT * curAmplitude/CONST_MAXIMUM_AMPLITUDE) 또는 사용자 정의보기의 draw() 메소드에있는 값을 간단히 그립니다. 봉우리와 붕괴 등을 들여다 봐야 할 것입니다. 그러나 그것이 전부입니다.

여기에 내장 된 VU 미터 라이브 벽지의 소스를 볼 수 있습니다 : VU meter.