У мене також була ця проблема, коли я модернізував Xubuntu 14.04 до Xubuntu 16.04 (навушники видавали звук, але не динаміки). У мене є звукова карта HD Intel з чіпом Realtek ALC259. Проблема зберігалася під час завантаження різних ядер від 3.13.X до 4.10.X.
Однак я отримав це виправлене, і ось, як:
Важливо розуміти, що Pulseaudio (PA) є системою управління звуком за замовчуванням для Ubuntu та більшості (усіх?) Її варіантів. PA є по суті і накладається поверх основної звукової системи ALSA. Отже, для кожної дії, зробленої в ПА, є наступна реакція всередині ALSA. Для кожного виходу (ака-порту), визначеного в межах ПА, існує визначене коригування системи ALSA. Це регулювання відоме як "шлях змішування".
!!! ВАЖЛИВО !!!
Перш ніж продовжувати, зараз настав час переконатися, що це насправді ваша проблема, і немає інших причин, через які ваші динаміки не працюють. Це можна зробити дуже легко, зробивши наступний тест. (Якщо ви поспілкувалися зі своєю звуковою системою, можливо, ви захочете повернути її до своїх значень за замовчуванням перед тестуванням):
- Відключіть навушники чи інші звукові пристрої, Окрім динаміків, які НЕ працюють.
- Почніть відтворювати аудіофайл, який зазвичай генерує звук із ваших динаміків, хоча наразі це не так. Тоді,
Відкрийте свій термінал і запустіть команду:
alsamixer
Ви повинні побачити наступне:
Через відмінності звукових карт ваші пристрої трохи відрізняються від зображень на зображенні. У моєму випадку, і перш ніж вирішити проблему, мій альсаміксер виглядав так само, як на зображенні вище.
- Увімкніть звук будь-яких пристроїв, які в даний час вимкнено (використовуйте клавішу 'm' для переключення звуку). Потім підніміть повзунки гучності на будь-яких пристроях, які не на 100%.
Якщо ви чуєте звук зі своїх динаміків, це виправлення для вас!
Якщо ви не чуєте жодного звуку, поверніться до "Google" і продовжуйте пошук. Цей метод НЕ допоможе вам.
Якщо ви успішно отримали звук з вищевказаного тесту, нам потрібно зараз грати з налаштуваннями alsamixer, щоб визначити:
- Котрий пристрій регулювання гучності пристрою фактично керує гучністю гучномовців та
- Який із пристроїв потрібно вимкнути, щоб динаміки працювали. Можливо, потрібно вимкнути кілька пристроїв.
Як тільки ми дізнаємось налаштування ALSA, за якими працюватимуть динаміки, ми можемо використати цю інформацію для внесення необхідних змін до наших контурів змішувача ПА.
У моєму випадку я виявив, що мої навушники та колонки пов'язані в ALSA наступними способами:
- Гучність "Мої навушники" контролюється пристроєм "Навушники".
- Отримання звуку з моїх навушників вимагає, щоб пристрої "Master" та "Headphone" були відключені.
- Гучність мого динаміка ТАКОЖ контролюється пристроєм "Навушники". (Налаштування гучності динаміка ALSA дивно не впливає на гучність мого динаміка.)
- Отримання звуку з моїх колонок вимагає, щоб пристрої "Master" та "Speaker" були відключені.
Шлях змішувача за замовчуванням у програмі PulseAudio (PA) передбачав, що мої динаміки не залежать від моїх навушників. Що, як було показано вище спостереженням 3, було не так. Згодом шлях мікшера за замовчуванням в PA для моїх ораторів вносив такі проблемні зміни в ALSA, щоразу після вибору динаміка в межах PA:
- Гучність навушників зменшилась до 0.
- Встановіть динамічний пристрій як регулювання гучності.
З огляду на те, як я спостерігав зв'язок ALSA моїх колонок і навушників, як описано раніше, ці зміни в ALSA запобігли б виходу звуку з моїх колонок.
Отже, рішення цієї проблеми отримують шляхом зміни шляху змішувача динаміка.
Файли контурів мішалки PA розміщені у:
/ usr / share / pulseaudio / alsa-змішувач / шляхи /
Щоб визначити, який файл шляху змішувача керує вашими динаміками, потрібно:
Переконайтесь, що вихід вашого динаміка вибраний в межах PA (тобто не у ваших навушниках).
Відкрийте термінал і запустіть таку команду:
pactl list | grep 'Active Port.*output.*'
Він повинен вивести щось таке, що виглядає приблизно так:
Активний порт: аудіотип- вихідний пристрій
тобто
"Активний порт" - це порт ПА, який зараз керує налаштуваннями ALSA. Оскільки ви вже вибрали свій динамік як вихід ПА, цей висновок із команди термінала повідомляє вам, що вам потрібно відредагувати файл аудіотипу файлу шляху змішувача -output- device .conf. У моєму випадку файл шляху змішувача був analog-output-speaker.conf.
Тепер, коли у нас є правильний файл шляху змішувача, нам потрібно внести зміни.
ПРИМІТКА. У цій папці контурів змішувача є файл з назвою "analog-output.conf.common". Вміст цього файлу пояснює, як інтерпретуються файли шляху мікшера. Якщо ви хочете зрозуміти наступні зміни, я настійно рекомендую переглянути цей файл, перш ніж редагувати шляхи змішувача!
Кожен файл шляху змішувача містить численні "Елементи". В ідеалі є елемент, що представляє кожен пристрій ALSA на вашому комп'ютері в кожному з файлів. Напевно, є елементи, яких у вас також немає. Це нормально.
У моєму випадку мені потрібно було змінити елементи навушників і гучномовців в межах змішувача на аналоговий вихід-спікер.conf такими способами:
- Дозволити гучність PA для регулювання гучності ALSA для навушників.
Оригінал:
[Element Headphone]
switch = off
volume = off
Відредаговано:
[Element Headphone]
switch = off
volume = merge
override-map.1 = all
override-map.2 = all-left,all-right
- (Необов’язково) Вимикайте гучність гучномовців і не дозволяйте гучності PA впливати на гучність ALSA. (Якщо ви цього не зробите, ваш звук все одно буде працювати, але налаштування динаміків в межах ALSA буде нестримно відбиватися.)
Оригінал:
[Element Speaker]
required-any = any
switch = mute
volume = merge
override-map.1 = all
override-map.2 = all-left,all-right
Відредаговано:
[Element Speaker]
required-any = any
switch = mute
volume = off
Потім перезапустіть PA, виконавши:
pulseaudio -k && pulseaudio --start
Вуаля!