Search Results for 'Programming/강좌'


1 POSTS

  1. 2010/03/31 Wave파일 읽어보자 by Junios

Wave파일 읽어보자

OpenAL에서 사용 하려고 했더니 ALUT가지고 만 해서

Wave파일 열어 봤다.

struct WAVEHEADER
{
char dwChunkID[4]; //RIFF
DWORD dwChunkSize; //ChunkID와 ChunkSize를 제외한 크기
char dwFormat[4]; //WAVE
char dwSubChunk1ID[4]; //"fmt "
DWORD dwSubChunk1Size;
unsigned short usAudioFormat; //PCM = 1
unsigned short usChannel; // Mono = 1, Stereo = 2, Etc
DWORD dwSampleRate; // 8800, 44100, etc
DWORD dwByteRate; // SampleRate * NumChannels * BitsPerSample / 8
unsigned short usBlockAlign; // NumChannel * BitPerSample / 8
unsigned short usBitsPerSameple; // 8bits = 8, 16bits = 16, etc
char dwSubChunk2ID[4]; //data
DWORD dwSubChunk2Size; //소리 자료 사이즈
};

void Load_Wave_File(char *fname)
{
FILE *fp;
char* pData;

fp = fopen(fname,"rb");

struct WAVEHEADER data;

fread( &data, sizeof(struct WAVEHEADER), 1, fp );

pData = new char[data.dwSubChunk2Size];

fread( pData, data.dwSubChunk2Size, 1, fp );

char temp;
fread ( &temp, 1, 1, fp );

int iSize = ftell(fp);

fseek( fp, 0, SEEK_END );

iSize = ftell(fp);

fclose(fp);
}

스펙은 https://ccrma.stanford.edu/courses/422/projects/WaveFormat/ 이곳을 참고해서 만들었다. WAVE, PCM이외에는 처리 하지 않음. ㅎㅎ 안되는건 포맷을 변환

Posted by Junios

2010/03/31 14:52 2010/03/31 14:52
,
Response
No Trackback , No Comment
RSS :
http://junios.net/tc/rss/response/258


블로그 이미지

Junios World

- Junios

Archives

Authors

  1. Junios

Calendar

«   2010/09   »
      1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30    

Site Stats

Total hits:
32815
Today:
25
Yesterday:
139