Simple Audio Recording Code Sample |
Wed 25 Feb 2004, 08:33
Post
#1
|
|
Newbie Group: Members Posts: 1 Joined: 25-Feb 04 From: Budapest - HU Member 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:
|
|
|
3 User(s) are reading this topic (3 Guests and 0 Anonymous Users)
0 Members: