USB вебкамера не работает микрофон.

Вопрос или проблема

У меня есть USB веб-камера с встроенным микрофоном. Камера работает, и микрофон обнаружен, но он не подает сигнал.

https://www.amazon.in/TVS-WC-103-HD-Webcam-1080Pixel/dp/B08G4X6TC1/ref=asc_df_B08G4X6TC1/?tag=googleshopdes-21&linkCode=df0&hvadid=396987037596&hvpos=&hvnetw=g&hvrand=626450613447870603&hvpone=&hvptwo=&hvqmt=&hvdev=c&hvdvcmdl=&hvlocint=&hvlocphy=9040216&hvtargid=pla-947225293670&psc=1&ext_vrnc=hi

Выход с помощью pacmd list-sources

3 source(s) available.
  * index: 0
    name: <alsa_input.usb-Jieli_Technology_USB_PHY_2.0-02.mono-fallback>
    driver: <module-alsa-card.c>
    flags: HARDWARE HW_MUTE_CTRL HW_VOLUME_CTRL DECIBEL_VOLUME LATENCY DYNAMIC_LATENCY
    state: SUSPENDED
    suspend cause: IDLE
    priority: 9040
    volume: mono: 65536 / 100% / 0.00 dB
            balance 0.00
    base volume: 35466 /  54% / -16.00 dB
    volume steps: 65537
    muted: no
    current latency: 0.00 ms
    max rewind: 0 KiB
    sample spec: s16le 1ch 44100Hz
    channel map: mono
                 Mono
    used by: 0
    linked by: 0
    configured latency: 0.00 ms; range is 0.50 .. 2000.00 ms
    card: 0 <alsa_card.usb-Jieli_Technology_USB_PHY_2.0-02>
    module: 7
    properties:
        alsa.resolution_bits = "16"
        device.api = "alsa"
        device.class = "sound"
        alsa.class = "generic"
        alsa.subclass = "generic-mix"
        alsa.name = "USB Audio"
        alsa.id = "USB Audio"
        alsa.subdevice = "0"
        alsa.subdevice_name = "subdevice #0"
        alsa.device = "0"
        alsa.card = "2"
        alsa.card_name = "USB PHY 2.0"
        alsa.long_card_name = "Jieli Technology USB PHY 2.0 at usb-0000:02:00.0-6, high speed"
        alsa.driver_name = "snd_usb_audio"
        device.bus_path = "pci-0000:02:00.0-usb-0:6:1.2"
        sysfs.path = "/devices/pci0000:00/0000:00:01.3/0000:02:00.0/usb1/1-6/1-6:1.2/sound/card2"
        udev.id = "usb-Jieli_Technology_USB_PHY_2.0-02"
        device.bus = "usb"
        device.vendor.id = "1224"
        device.vendor.name = "Jieli Technology"
        device.product.id = "2a25"
        device.product.name = "USB PHY 2.0"
        device.serial = "Jieli_Technology_USB_PHY_2.0"
        device.form_factor = "webcam"
        device.string = "hw:2"
        device.buffering.buffer_size = "176400"
        device.buffering.fragment_size = "88200"
        device.access_mode = "mmap+timer"
        device.profile.name = "mono-fallback"
        device.profile.description = "Mono"
        device.description = "USB PHY 2.0 Mono"
        module-udev-detect.discovered = "1"
        device.icon_name = "camera-web-usb"
    ports:
        analog-input-mic: Microphone (priority 8700, latency offset 0 usec, available: unknown)
            properties:
                device.icon_name = "audio-input-microphone"
    active port: <analog-input-mic>
    index: 1
    name: <alsa_output.pci-0000_07_00.1.hdmi-stereo-extra1.monitor>
    driver: <module-alsa-card.c>
    flags: DECIBEL_VOLUME LATENCY DYNAMIC_LATENCY
    state: SUSPENDED
    suspend cause: IDLE
    priority: 1030
    volume: front-left: 65536 / 100% / 0.00 dB,   front-right: 65536 / 100% / 0.00 dB
            balance 0.00
    base volume: 65536 / 100% / 0.00 dB
    volume steps: 65537
    muted: no
    current latency: 0.00 ms
    max rewind: 0 KiB
    sample spec: s16le 2ch 44100Hz
    channel map: front-left,front-right
                 Stereo
    used by: 0
    linked by: 0
    configured latency: 0.00 ms; range is 0.50 .. 1999.82 ms
    monitor_of: 0
    card: 1 <alsa_card.pci-0000_07_00.1>
    module: 8
    properties:
        device.description = "Monitor of GK208 HDMI/DP Audio Controller Digital Stereo (HDMI 2)"
        device.class = "monitor"
        alsa.card = "0"
        alsa.card_name = "HDA NVidia"
        alsa.long_card_name = "HDA NVidia at 0xf7080000 irq 77"
        alsa.driver_name = "snd_hda_intel"
        device.bus_path = "pci-0000:07:00.1"
        sysfs.path = "/devices/pci0000:00/0000:00:03.1/0000:07:00.1/sound/card0"
        device.bus = "pci"
        device.vendor.id = "10de"
        device.vendor.name = "NVIDIA Corporation"
        device.product.id = "0e0f"
        device.product.name = "GK208 HDMI/DP Audio Controller"
        device.string = "0"
        module-udev-detect.discovered = "1"
        device.icon_name = "audio-card-pci"
    index: 2
    name: <alsa_output.pci-0000_09_00.4.iec958-stereo.monitor>
    driver: <module-alsa-card.c>
    flags: DECIBEL_VOLUME LATENCY 
    state: SUSPENDED
    suspend cause: IDLE
    priority: 1030
    volume: front-left: 65536 / 100% / 0.00 dB,   front-right: 65536 / 100% / 0.00 dB
            balance 0.00
    base volume: 65536 / 100% / 0.00 dB
    volume steps: 65537
    muted: no
    current latency: 0.00 ms
    max rewind: 0 KiB
    sample spec: s16le 2ch 44100Hz
    channel map: front-left,front-right
                 Stereo
    used by: 0
    linked by: 0
    fixed latency: 100.14 ms
    monitor_of: 1
    card: 2 <alsa_card.pci-0000_09_00.4>
    module: 9
    properties:
        device.description = "Monitor of Starship/Matisse HD Audio Controller Digital Stereo (IEC958)"
        device.class = "monitor"
        alsa.card = "1"
        alsa.card_name = "HD-Audio Generic"
        alsa.long_card_name = "HD-Audio Generic at 0xf7400000 irq 79"
        alsa.driver_name = "snd_hda_intel"
        device.bus_path = "pci-0000:09:00.4"
        sysfs.path = "/devices/pci0000:00/0000:00:08.1/0000:09:00.4/sound/card1"
        device.bus = "pci"
        device.vendor.id = "1022"
        device.vendor.name = "Advanced Micro Devices, Inc. [AMD]"
        device.product.id = "1487"
        device.product.name = "Starship/Matisse HD Audio Controller"
        device.string = "1"
        module-udev-detect.discovered = "1"
        device.icon_name = "audio-card-pci"

Судя по выводу pacmd list-sources, все ваши микрофоны приостановлены из-за неактивности (что имеет смысл). То, что я обнаружил с некоторыми USB-устройствами, заключается в том, что как только микрофон установлен в состояние SUSPENDED, он никогда не возвращается. Обычно есть два решения этой проблемы:

  1. Отключите веб-камеру, посчитайте до пяти и подключите обратно.
    ⇢ Это перезапустит USB-устройство и обычно возвращает все устройства в сеть.
  2. Обновите PulseAudio, чтобы не приостанавливать неактивные аудиоустройства.
    ⇢ Это обычно хорошо работает для множества компьютеров на работе, где USB-камеры нельзя физически отключить от компьютера без ножниц.

Изменение PulseAudio

Чтобы предотвратить приостановку аудиоустройств при неактивности, вам нужно закомментировать одну строку в файле default.pa. Вот шаги, которые следует выполнить:

  1. Откройте терминал (если он еще не открыт)

  2. Откройте файл default.pa для редактирования от имени root:

    $ sudo vi /etc/pulse/default.pa
    

    Примечание: Можете использовать что-то кроме vi. Это больше привычка, чем прямое предложение использовать редактор.

  3. Найдите строку, которая гласит load-module module-suspend-on-idle и прокомментируйте ее. Это будет примерно на 90% вниз. После этого строка должна выглядеть так:

    ### Automatically suspend sinks/sources that become idle for too long
    # load-module module-suspend-on-idle
    
  4. Перезапустите PulseAudio:

    $ pulseaudio -k
    
  5. Подтвердите, что ваши аудиоустройства работают:

    pacmd list-sources
    

    Проверьте USB-микрофон, который может находиться на индексе 0, как и в предоставленном вами выводе, и подтвердите значение state. Это должно показывать IDLE. Когда это активно используется приложением, оно изменится на RUNNING, затем вернется в состояние IDLE примерно через 30 секунд после того, как больше не будет использоваться.

Аудио замешательство

Еще одна проблема, с которой вы можете столкнуться, заключается в том, что приложение может не знать, какой микрофон использовать автоматически, и в результате выбор ввода всегда будет пустым. Чтобы решить эту проблему, откройте приложение PulseAudio Volume Control (pavucontrol) и щелкните на вкладке “Конфигурация”. Установите вывод на “Аналоговый стерео выход”:

PulseAudio - Конфигурация

Почему установка вывода решает проблему с вводом, могу только догадываться. Тем не менее, это решение работает для тех редких случаев, когда компьютер постоянно показывает, что аудиовходное устройство отсутствует.

В Guvcview->AudioControls по умолчанию было установлено в качестве устройства ввода–>pulse. Я просто изменил его на hda intel (моя звуковая карта) и все заработало!

У меня есть эта проблема на Kubuntu 24.04 с веб-камерой Logitech C920. Моя система, похоже, не использует PulseAudio (ps aux | grep pulse показывает только pipewire-pulse), но у меня та же проблема (микрофон распознается, раньше работал, теперь имеет 0 сигнала).

Используя pw-cli list-objects для поиска ID устройства моей веб-камеры, а затем pw-cli info <id>, я вижу, что мое устройство “приостановлено”, аналогично этому ответу о PulseAudio:

➜  ~ pw-cli info 211
        id: 211
        permissions: rwxm-
        type: PipeWire:Interface:Node/3
*       input ports: 0/0
*       output ports: 2/65
*       state: "suspended"

Состояние приостановлено сохранялось после перезагрузки, и я полагаю, что именно поэтому оно перестало работать. Я попробовал несколько вещей, например, использовать wireplumber для отключения приостановки неактивных устройств и использовать alsactl restore, но это ничего не дало…

Пока единственный способ восстановить аудиовход из веб-камеры – это перемещение в другой USB-порт. Возможно, эти изменения в wireplumber предотвратят повторение этой проблемы, я поделюсь обновлением через несколько недель, чтобы увидеть, так ли это.

Ответ или решение

Проблемы с работой микрофона USB веб-камеры: причины и решения

Если у вас возникли проблемы с работой встроенного микрофона вашей USB веб-камеры, это может быть связано с несколькими факторами, связанными как с настройками системы, так и с самим устройством. Рассмотрим основные возможные причины и шаги для их устранения.

1. Убедитесь, что оборудование правильно подключено

Первым делом, проверьте, правильно ли подключена веб-камера. Попробуйте выполнить следующие действия:

  • Переподключите устройство: отсоедините веб-камеру от USB-порта, подождите несколько секунд и снова подключите ее. Это поможет сбросить состояние устройства и иногда возвращает его в рабочий режим.

2. Проверка состояния микрофона в системе

Поскольку ваш микрофон определяется, но не работает, это может быть связано с тем, что он находится в состоянии "приостановлено". Используйте следующую команду для проверки состояния микрофона:

pacmd list-sources

Из предоставленного вами вывода видно, что ваш микрофон имеет состояние SUSPENDED. Это может происходить из-за того, что PulseAudio (или аналогичная служба, как PipeWire) приостанавливает устройства, которые не используются.

3. Изменение настроек PulseAudio

Чтобы настроить PulseAudio так, чтобы он не приостанавливал устройства, измените конфигурацию:

  1. Откройте терминал.
  2. Редактируйте файл default.pa:
sudo vi /etc/pulse/default.pa
  1. Найдите строку, содержащую load-module module-suspend-on-idle, и закомментируйте ее, добавив # в начале строки:
# load-module module-suspend-on-idle
  1. Перезапустите PulseAudio:
pulseaudio -k
  1. Проверьте, работает ли микрофон, выполнив снова:
pacmd list-sources

Ваш микрофон теперь должен быть в состоянии IDLE или RUNNING, ошибок быть не должно.

4. Настройки приложений

Иногда определенные приложения могут неправильно выбирать устройства ввода. Если вы используете приложение, такое как Guvcview, убедитесь, что в настройках устройства ввода выбран правильный источник звука (например, HDA Intel, если ваш звук связан с аудиокартой).

5. Проверка в PipeWire

Если вы используете Kubuntu и система работает на базе PipeWire вместо PulseAudio, используйте команды для проверки состояния устройства:

pw-cli list-objects
pw-cli info <device_id>

Если состояние устройства "suspended", переключение его на другой USB-порт может помочь вернуть его в рабочий режим.

Заключение

Проблемы с работой микрофона USB веб-камеры могут быть решены с помощью простых шагов по диагностике и настройке. Переподключение устройства, проверка состояния через команды, изменения в конфигурации PulseAudio или PipeWire часто помогают восстановить работоспособность.

Если ни одно из решений не помогло, возможно, имеется аппаратная проблема, и стоит проверить устройство на другом компьютере или обратиться в сервисный центр.

Оцените материал
Добавить комментарий

Капча загружается...