EZ-S3C6410 보드를 이용해서 pcm 데이터를 재생 하려고 함니다

 

aplay로는 사운드가 정상적으로 나오는데요

aplay -fcd ac.pcm <<정상 동작

 

직접 작성한 플레이어로는 소리가 이상하게 나와요

 

일단 재생은 되는데 한 1초 ?0.5초? 가량 정상 속도로 재생되다가 그이후 1.5배정도되는 속도로 재생이 되는 이상한 현상이있어서

 

sampling rate 가 이상한거같은데

 

189  int speed = 44100;
190         printf("[%d]",ioctl(fd_soundcard, SNDCTL_DSP_SPEED,&speed));
191         sound_buff_size   = soundcard_get_buff_size();
192         sound_buff        = ( char *)malloc( sound_buff_size);
193 int fd = open (argv[1],O_RDONLY);
194         while( TRUE)
195         {
196
197                 read_size   = read( fd , sound_buff, 2);
198                 if (read_size == 0) break;
199                 write( fd_soundcard, sound_buff, 2);
200         }
201
202 close (fd);

구문임니다  ioctl은 에러없이 정상 작동 되는것을 확인 하엿는데요

사운드가 자꾸만 속도가 바뀌는 문제가 발생하니 알수가 없어서요

 

도와주시면 감사하겟습니다