#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 行で定義されています。
1.5.1