#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>
マクロ定義 | |
| #define | MAXPOLLINTERVAL 300 |
| Read timeout in msec. | |
関数 | |
| static void | output_card_info (char *pcm_name, snd_pcm_t *handle) |
| Output detailed device information. | |
| boolean | adin_alsa_standby (int sfreq, void *dummy) |
| Device initialization: check device capability and open for recording. | |
| static int | xrun_recovery (snd_pcm_t *handle, int err) |
| Error recovery when PCM buffer underrun or suspend. | |
| boolean | adin_alsa_begin () |
| Start recording. | |
| boolean | adin_alsa_end () |
| Stop recording. | |
| int | adin_alsa_read (SP16 *buf, int sampnum) |
| Read samples from device | |
変数 | |
| static snd_pcm_t * | handle |
| Audio handler | |
| static char * | pcm_name = "default" |
| Name of the PCM device, can be overridden by env ALSADEV | |
| static int | latency = 32 |
| Lantency time in msec. You can override this value by specifying environment valuable "LATENCY_MSEC". | |
| static boolean | need_swap |
| Whether samples need byte swap | |
| static struct pollfd * | ufds |
| Poll descriptor | |
| static int | count |
| Poll descriptor count | |
ALSA API を使用する,マイク入力のための低レベル関数です. 使用には ALSA サウンドドライバーがインストールされていることが必要です.
サウンドカードが 16bit モノラル で録音できることが必須です.
JuliusはLinuxではミキサーデバイスの設定を一切行いません.録音デバイスの 選択(マイク/ライン)や録音ボリュームの調節は alsamixer など他のツールで 行なって下さい.
複数サウンドカードはサポートされていません.複数のサウンドカードが インストールされている場合,最初の1つが用いられます.
バージョン 1.x に対応しています.1.0.13 で動作を確認しました.
デバイス名は "default" が使用されます.環境変数 ALSADEV で変更できます.
adin_mic_linux_alsa.c で定義されています。
| static void output_card_info | ( | char * | pcm_name, | |
| snd_pcm_t * | handle | |||
| ) | [static] |
Output detailed device information.
| pcm_name | [in] device name string | |
| handle | [in] pcm audio handler |
adin_mic_linux_alsa.c の 95 行で定義されています。
参照元 adin_alsa_standby().
| boolean adin_alsa_standby | ( | int | sfreq, | |
| void * | dummy | |||
| ) |
Device initialization: check device capability and open for recording.
| sfreq | [in] required sampling frequency. | |
| dummy | [in] a dummy data |
< Pointer to device hardware parameters
adin_mic_linux_alsa.c の 163 行で定義されています。
| 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 の 385 行で定義されています。
参照元 adin_alsa_begin().
| boolean adin_alsa_begin | ( | ) |
| boolean adin_alsa_end | ( | ) |
| int adin_alsa_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_linux_alsa.c の 483 行で定義されています。
1.5.1