> В самом сэмпле смикшируй атаку и затухание. Затухание там нормальное, поэтому ты
> слышишь один щелчок, а не два.Хошь прикол?!
Я же когда WAV перегонял в HEX, заголовок WAV не удалил
То есть, там, в массиве, первые 44 байта надо выкинуть. :)
http://pavlinux.ru/sound.h
ну и чуток поправил код, выкинул переменные не нужные.
#include <unistd.h>
#include <fcntl.h>
#include <sys/types.h>
#include <sys/ioctl.h>
#include <stdlib.h>
#include <stdio.h>
#include <linux/soundcard.h>#include "sound.h"
int main(void)
{
ssize_t arg;
int fd;
fd = open("/dev/dsp", O_RDWR);
arg = 0; ioctl(fd, SOUND_PCM_SYNC, &arg);
arg = RATE; ioctl(fd, SOUND_PCM_WRITE_RATE, &arg);
arg = SIZE; ioctl(fd, SOUND_PCM_WRITE_BITS, &arg);
arg = CHANNELS; ioctl(fd, SOUND_PCM_WRITE_CHANNELS, &arg);
arg = AFMT_U16_BE; ioctl(fd, SOUND_PCM_SETFMT, &arg);
arg = 4; ioctl(fd, SOUND_PCM_SUBDIVIDE, &arg);
arg = (ssize_t)sizeof(Wave);
write(fd, Wave, arg);
ioctl(fd, SOUND_PCM_SYNC, NULL);
ioctl(fd, SOUND_PCM_RESET, NULL);
close(fd);
return 0;
}