#include <sent/stddefs.h>
#include <sent/adin.h>
#include <sys/ioctl.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <poll.h>
#include <sys/soundcard.h>
マクロ定義 | |
#define | DEFAULT_DEVICE "/dev/dsp" |
Default device name, can be overridden by AUDIODEV environment variable | |
#define | FREQALLOWRANGE 200 |
Acceptable width of sampling frequency | |
#define | POLLINTERVAL 200 |
Polling interval in miliseconds | |
関数 | |
boolean | adin_mic_standby (int sfreq, void *arg) |
Device initialization: check device capability and open for recording. | |
boolean | adin_mic_begin () |
Start recording. | |
boolean | adin_mic_end () |
Stop recording. | |
int | adin_mic_read (SP16 *buf, int sampnum) |
Read samples from device | |
変数 | |
static int | audio_fd |
Audio descriptor | |
static boolean | need_swap |
Whether input samples need byte-swapping | |
pollfd | fds [1] |
Workarea for polling device |
マイク入力のための低レベル関数です.FreeBSDでこのファイルが使用されます.
サウンドカードが 16bit モノラル で録音できることが必須です.
JuliusはFreeBSDでミキサーデバイスの設定を一切行いません.録音デバイスの 選択(マイク/ライン)や録音ボリュームの調節は他のツールで 行なって下さい.
デフォルトのデバイス名は "/dev/dsp" です.環境変数 AUDIODEV に デバイス名を指定することで,他のデバイス名を使用できます.
動作確認はFreeBSD 3.2-RELEASE で行なわれました.サウンドドライバは snd を使用しています.
adin_mic_freebsd.c で定義されています。
boolean adin_mic_standby | ( | int | sfreq, | |
void * | arg | |||
) |
Device initialization: check device capability and open for recording.
sfreq | [in] required sampling frequency. | |
arg | [in] a dummy data |
adin_mic_freebsd.c の 90 行で定義されています。
boolean adin_mic_begin | ( | ) |
boolean adin_mic_end | ( | ) |
int adin_mic_read | ( | SP16 * | buf, | |
int | sampnum | |||
) |
Read samples from device
Try to read sampnum samples and returns actual number of recorded samples currently available. This function will block until at least one sample can be obtained.
buf | [out] samples obtained in this function | |
sampnum | [in] wanted number of samples to be read |
adin_mic_freebsd.c の 234 行で定義されています。