Simple Audio Recording Code Sample |
mer. 25 févr. 2004, 08:33
Message
#1
|
|
Newbie Groupe : Members Messages : 1 Inscrit : 25 févr. 04 Lieu : Budapest - HU Membre no 36,804 |
Hi,
I'm new to MacOS programming, but have considerable background in different UNIX systems. I'm trying to port my project, DarkIce to MacOS. For this, I need to be able to simply record audio from an audio device. More precisely:
CODE #include <stdio.h> #include <string.h> #include <unistd.h> #include <sys/types.h> #include <sys/stat.h> #include <fcntl.h> #include <sys/ioctl.h> #include <errno.h> #include <sys/audioio.h> #define FILE_NAME "/dev/audio" #define SAMPLE_RATE 22050 #define CHANNEL 2 #define BITS_PER_SAMPLE 16 #define BUF_SIZE 4 int main(int argc, char **argv) { int fd; audio_info_t audioInfo; unsigned char buf[BUF_SIZE]; unsigned int len = BUF_SIZE; ssize_t ret; fd = open( FILE_NAME, O_RDONLY); AUDIO_INITINFO( &audioInfo); audioInfo.record.sample_rate = SAMPLE_RATE; audioInfo.record.channels = CHANNEL; audioInfo.record.precision = BITS_PER_SAMPLE; audioInfo.record.encoding = AUDIO_ENCODING_LINEAR; if ( ioctl(fd, AUDIO_SETINFO, &audioInfo) ) { printf("can't set audio info, error: %d\n", errno); } ret = read(fd, buf, len); printf("%d returned by read\n", ret); if ( ret == -1 ) { printf("error code %d\n", errno); } close(fd); return 0; } What I hear is that MacOS uses a callback pattern to access audio data from the sound card. if so, probably I'm looking for a sample that does:
|
|
|
1 utilisateur(s) sur ce sujet (1 invité(s) et 0 utilisateur(s) anonyme(s))
0 membre(s) :