2014-04-04 6 views
0

여러 오디오 트랙을 동시에 재생해야하며 모든 사람을 개별적으로 재생/일시 중지/다시 시작해야합니다. 또한, 나는 그들 각각의 파형이 필요합니다.여러 개의 오디오 트랙 파형

첫 번째 질문은 트랙이 스트리밍되는 경우 파형을 만들 수 없습니까? 내가 아는 한 전체 파일을 가지고 파형을 생성해야합니다.

트랙을 재생하는 기본 작업에 SoundPool을 사용하려고 생각했습니다. 이런 종류의 시나리오에 사용할 수있는 더 좋은 옵션이 있습니까? 제 3 자 lib?

또한 파형을 생성하는 방법에 대한 정보는 무엇입니까?

감사합니다.

답변

0

사용자가 가지고있는 오디오 데이터에 대해서만 파형을 생성 할 수 있습니다. 전체 트랙 (또는 트랙의 일부)을 미리 불러올 수 있다면 즉시 파형을 만들 수 있습니다. 완벽한 시나리오에서 파형의 실제 건물보다 재생이 지연됩니다.

파형을 생성하는 것은 일반적으로 샘플을 취하여 샘플을 추출하여 진폭을 적절하게 그립니다. 시각적 인 초당 44,100 개의 샘플을 표시하는 것을 원하지 않지만 초당 100 개의 샘플이 작동 할 수 있습니다. 따라서 441 개 샘플마다 최대 진폭을 계산하고 원하는대로 플롯합니다.

희망이 도움이됩니다.

+0

는 "아래로 증류하는 것은 '사실 당신이로 렌더링하는 비트 맵 디스플레이의 나이 퀴 스트 속도 이하로 로우 패스 필터링해야합니다. 이 계산하는 동안 평균은 로우 패스 필터, 그것은 매우 원유 하나입니다. – marko

+0

없음 우리는 여기에 플롯 할 진폭을 찾고 있습니다.이 경우의 "증분 제거"는 샘플이 넘치고 (44,100/초) 뷰에서 실제로 플롯 될 수있는 더 합리적인 숫자로 만드는 것을 의미합니다 (초당 100 개 내 예제) – nsdebug

+0

네, 그럴만 한 가치가 있습니다 [샘플 속도 변환] (http://en.wikipedia.org/wiki/Sample_rate_conversion). 단순히 평균하면 앨리어싱 인공물이 생깁니다. – marko