먼저, 독점 라이브러리없이이 작업을 수행하려고합니다. 이식성이 뛰어나며 여기에서 일어나는 일에 대해 더 잘 이해하고 있습니다. 나는 필자의 클래스와 라이브러리를 작성하여 반복적 인 기능 (헤더 등의 파싱)을 처리 할 수있다.wav 파일의 프레임과 샘플 얻기
그래서 나는 오디오 파일에 대한 정보를 계산할 수있는 스트림을 통해 WAV/RIFF 파일을 읽을 수 있는지 궁금합니다 (즉, 파일의 오디오 길이, 샘플 수, 프레임 등). 그런 다음 다른 기능을 위해 프레임이나 샘플을 반복합니다.
fstream
을 통해 이진 파일로 읽는 것이고 RIFF specs에 지정된대로 헤더를 허용하고 헤더에서 일부 정보를 얻을 수 있지만 바이트를 프레임 또는 샘플로 식별하는 방법과 길이까지?
다른 언어로이 문제를 해결할 수 있지만 C++에서 직접적으로 관련된 내용은 없습니다.
이 방법이 유효하지만 32 비트 또는 64 비트 컴퓨터에서 작업하는 경우 고려해야합니다. 'int'와'short'의 실제 길이는 기계 아키텍처에 달려 있지만, wav 헤더 부분의 길이는 다릅니다. 따라서이 코드는 32 비트 아키텍처에서는 작동하지만 64에서는 작동하지 않을 수 있습니다. – lCapp