FileStream을 사용하여 WAV 파일에서 BitsPerSample을 추출하려고합니다. 이 소스에 따르면 WAV offset Table, BitsPerSample은 오프셋 35에 위치하며 2 바이트 길이입니다. 나는 25600의 bitsPerSample 16 비트 얻을 수 있습니다 내가 알고있는 WAV 파일에이를 사용할 때 이제RIFF WAV 파일에서 BitsPerSample 추출
public int getBitsPerSample()
{
int bitsPerSample;
using (var f = File.OpenRead(wavPath))
{
f.Seek(35,SeekOrigin.Begin);
byte[] val = new byte[2];
f.Read(val,0,2);
bitsPerSample = BitConverter.ToInt16(val,0);
}
return bitsPerSample;
}
:
이 그것을 추출하려고 내 코드? 내가 WAV 파일을보기 위해 16 진수 편집기를 사용했을 때 의심이 들었을 때 2 바이트는 실제로 "d a t"라고 표시되기 전에 0x22 오프셋에있었습니다. 다른 16 비트 WAV 파일을 검사하면이를 확인했습니다.
0x22에서 검색하면 2의 비트 샘플을 얻었지만 정확하지 않습니다.
누군가가 이미 문제를 이미 잘 알고 있지만 필요한 경우 정보를 계속 추가 할 것입니다. 나는 헥스 편집기에서 32 비트 WAV 파일을 열 때 나는 내 소스, 그리고 마지막 결과에서 다시 완전히 다른 오프셋 0x4E,의 bitsPerSample을 발견
...