マイク入力 (Linux/ALSA) [詳細]
#include <sent/stddefs.h>
#include <sent/adin.h>
#include <sys/ioctl.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <alsa/asoundlib.h>
関数 | |
boolean | adin_mic_standby (int sfreq, void *dummy) |
static int | xrun_recovery (snd_pcm_t *handle, int err) |
boolean | adin_mic_start () |
boolean | adin_mic_stop () |
int | adin_mic_read (SP16 *buf, int sampnum) |
Read samples from device. | |
変数 | |
static snd_pcm_t * | handle |
Audio handler. | |
static snd_pcm_hw_params_t * | hwparams |
Pointer to device hardware parameters. | |
static char * | pcm_name = "hw:0,0" |
Name of the PCM device. | |
static boolean | need_swap |
Whether samples need byte swap. | |
static int | latency = 50 |
Lantency time in msec. | |
static struct pollfd * | ufds |
Poll descriptor. | |
static int | count |
Poll descriptor count. |
マイク入力 (Linux/ALSA)
ALSA API を使用する,マイク入力のための低レベル関数です. 使用には ALSA サウンドドライバーがインストールされていることが必要です. 使用するには configure 時に "--with-mictype=alsa" を指定して下さい.
サウンドカードが 16bit モノラル で録音できることが必須です.
JuliusはLinuxではミキサーデバイスの設定を一切行いません.録音デバイスの 選択(マイク/ライン)や録音ボリュームの調節は alsamixer など他のツールで 行なって下さい.
複数サウンドカードはサポートされていません.複数のサウンドカードが インストールされている場合,最初の1つが用いられます.
adin_mic_linux_alsa.c で定義されています。
boolean adin_mic_standby | ( | int | sfreq, | |
void * | dummy | |||
) |
Device initialization: check device capability and open for recording.
sfreq | [in] required sampling frequency. | |
dummy | [in] a dummy data |
adin_mic_linux_alsa.c の 80 行で定義されています。
static int xrun_recovery | ( | snd_pcm_t * | handle, | |
int | err | |||
) | [static] |
Error recovery when PCM buffer underrun or suspend.
handle | [in] audio handler | |
err | [in] error code |
adin_mic_linux_alsa.c の 270 行で定義されています。
参照元 adin_mic_start().
boolean adin_mic_start | ( | ) |
boolean adin_mic_stop | ( | ) |
int adin_mic_read | ( | SP16 * | buf, | |
int | sampnum | |||
) |
Read samples from device.
Read samples from the daemon.
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_linux_alsa.c の 360 行で定義されています。