2011-08-19 6 views
0

자바 프로젝트를 Android로 이식하고 있습니다.AudioSystem을 사용하지 않고 FrameLength를 계산하는 방법은 무엇입니까?

아시다시피 Android에는 javax.sound 패키지가 없습니다.

frameLength를 계산해야합니다.

내 사운드 파일 크기는 283KB입니다. 프레임 크기는 4이고 프레임 속도는 44100이고 비트 단위의 샘플 크기는 16입니다.

순수한 자바 만 사용했을 때 프레임 길이는 69632입니다.

이것을 얻으려면 어떤 공식을 알고 있습니까?

감사합니다.

답변

1

원시 PCM 데이터의 경우 기본적으로 샘플 당 4 바이트가 있습니다.

((283킬로바이트) * (KB 당 1,024 바이트))/(프레임 당 4 바이트) ==> 72,448

그러나 WAV 원시 PCM 외에, 예를 들어, 노래 제목이나 아티스트를 많이 포함 할 수 있습니다 정보.

Here's wav 형식에 대한 추가 정보 파일을 원시 바이트로로드해야 헤더를 파싱 할 수 있지만 헤더의 프레임 크기는 예측 가능한 위치에 있습니다.

Android 경험이있는 다른 누군가가 이미 방법을 고안했습니다. 아마도 Google은 Java를 손상되지 않은 개체로 간주하고 적절하게 라이선스를 적용하고 구현해야합니다.

관련 문제