-
-
Notifications
You must be signed in to change notification settings - Fork 12
Expand file tree
/
Copy pathalsa_record.c
More file actions
30 lines (22 loc) · 580 Bytes
/
alsa_record.c
File metadata and controls
30 lines (22 loc) · 580 Bytes
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
// ©2017 Yuichiro Nakada
// clang -Os -o alsa_record alsa_record.c -lasound
#include <stdio.h>
#include "alsa.h"
int main(int argc, char *argv[])
{
char *dev = "plughw:PCH,0";
if (argc>1) dev = argv[1];
char *name = "alsa_record.dat";
if (argc>2) name = argv[2];
AUDIO a;
AUDIO_init(&a, dev, 48000, 1, 32, 0); // device, 48000 samplerate, 1 channels, 32 frame
do {
int f = AUDIO_frame(&a); // audio data in a.buffer
if (f == a.frames) {
FILE *fp = fopen(name, "ab");
fwrite(a.buffer, a.size, 1, fp);
fclose(fp);
}
} while (1);
AUDIO_close(&a);
}