Демонстрационное получение ALSA: не может открыть устройство

Я довольно плохо знаком с Linux (Lubuntu 12.04 ради точности) и ALSA, программирующий вообще. Я пытаюсь записать программу C для записывания аудио от внутреннего микрофона ПК для обработки его. Таким образом, как первый шаг я гуглю немного, и я нашел эту статью для получения аудиосэмплов

Учебное руководство при использовании Аудио ALSA API

но когда я компилирую его и выполняю его с:

./mycapture "default" или ./mycapture "hw:0,0" и все возможные варианты на теме это всегда повышает ошибку:

не может открыть устройство hw:0,0 (никакой такой файл или каталог).

Таким образом, проблема: каково название аудиоустройства микрометра для передачи как параметр для записи аудио от микрометра?

Микрометр работает хорошо, потому что записи программы Устройства звукозаписи звучат отлично, и я могу воспроизвести их.

Вывод aplay -l следующее:

**** List of PLAYBACK Hardware Devices ****
card 0: I82801DBICH4 [Intel 82801DB-ICH4], device 0: Intel ICH [Intel 82801DB-ICH4]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 0: I82801DBICH4 [Intel 82801DB-ICH4], device 4: Intel ICH - IEC958 [Intel 82801DB-ICH4 - IEC958]
  Subdevices: 1/1
  Subdevice #0: subdevice #0

и это - вывод amixer (сокращение)

Simple mixer control 'Master',0
  Capabilities: pvolume pswitch penum
  Playback channels: Front Left - Front Right
  Limits: Playback 0 - 31
  Mono:
  Front Left: Playback 31 [100%] [0.00dB] [on]
  Front Right: Playback 31 [100%] [0.00dB] [on]
Simple mixer control 'Master Mono',0
  Capabilities: pvolume pvolume-joined pswitch pswitch-joined penum
  Playback channels: Mono
  Limits: Playback 0 - 31
  Mono: Playback 4 [13%] [-40.50dB] [on]
Simple mixer control 'PCM',0
  Capabilities: pvolume pswitch penum
  Playback channels: Front Left - Front Right
  Limits: Playback 0 - 31
  Mono:
  Front Left: Playback 31 [100%] [12.00dB] [on]
  Front Right: Playback 31 [100%] [12.00dB] [on]
Simple mixer control 'CD',0
  Capabilities: pvolume pswitch cswitch cswitch-exclusive penum
  Capture exclusive group: 0
  Playback channels: Front Left - Front Right
  Capture channels: Front Left - Front Right
  Limits: Playback 0 - 31
  Front Left: Playback 0 [0%] [-34.50dB] [off] Capture [off]
  Front Right: Playback 0 [0%] [-34.50dB] [off] Capture [off]
Simple mixer control 'Mic',0
  Capabilities: pvolume pvolume-joined pswitch pswitch-joined cswitch cswitch-exclusive penum
  Capture exclusive group: 0
  Playback channels: Mono
  Capture channels: Front Left - Front Right
  Limits: Playback 0 - 31
  Mono: Playback 22 [71%] [-1.50dB] [on]
  Front Left: Capture [on]
  Front Right: Capture [on]
Simple mixer control 'Mic Boost (+20dB)',0
  Capabilities: pswitch pswitch-joined penum
  Playback channels: Mono
  Mono: Playback [off]
Simple mixer control 'Mic Select',0
  Capabilities: enum
  Items: 'Mic1' 'Mic2'
  Item0: 'Mic1'
Simple mixer control 'Stereo Mic',0
  Capabilities: pswitch pswitch-joined penum
  Playback channels: Mono
  Mono: Playback [off]

таким образом для aplay кажется, что у меня нет регистрирующего устройства, но для amixer у меня есть микрометр, повышение микрометра и стерео микрометра также со всеми теми великолепными материалами на их месте!!. Если так, как мое Устройство звукозаписи могло записать аудио без какой-либо проблемы вообще?!?!

Наверняка я даю неправильное имя устройства командной строке для того, чтобы записать аудио, но я освобождаю надежду на нахождение корректного!

Помогите...., прежде чем я оторву волосы!!!

4
задан 16 October 2012 в 16:53

1 ответ

aplay -l устройства воспроизведения списков. Использовать arecord -l.

Программа получения работает просто великолепно после исправления ошибок (третий параметр к snd_pcm_hw_params_set_rate_near должен быть указатель на уровень и размер buf должен быть удвоен, чтобы иметь достаточно пространства для двух каналов).

0
ответ дан 16 October 2012 в 16:53

Другие вопросы по тегам:

Похожие вопросы: