Tôi cũng gặp vấn đề này khi nâng cấp Xubfox 14.04 lên Xubfox 16.04 (tai nghe tạo ra âm thanh, nhưng không phải loa). Tôi có card âm thanh HD Intel với chip Realtek ALC259. Vấn đề vẫn tồn tại khi khởi động với các nhân khác nhau từ 3.13.X đến 4.10.X.
Tuy nhiên, tôi đã CỐ ĐỊNH nó, và đây là cách:
Điều quan trọng là phải hiểu rằng Pulseaudio (PA) là hệ thống kiểm soát âm thanh mặc định cho Ubuntu và hầu hết (tất cả?) Các biến thể của nó. PA về cơ bản và lớp phủ trên cùng của hệ thống âm thanh ALSA cốt lõi. Vì vậy, đối với mọi hành động được thực hiện trong PA, có một phản ứng tiếp theo trong ALSA. Đối với mỗi đầu ra (còn gọi là cổng) được xác định trong PA, có một điều chỉnh được xác định cho hệ thống ALSA. Điều chỉnh này được gọi là "đường trộn".
!!! QUAN TRỌNG !!!
Trước khi bạn tiếp tục, bây giờ là thời điểm tốt để xác minh rằng đây thực sự là vấn đề của bạn và không có lý do nào khác khiến loa của bạn không hoạt động. Bạn có thể làm như vậy rất dễ dàng bằng cách làm bài kiểm tra sau. (Nếu bạn đã sử dụng hệ thống âm thanh của mình, bạn có thể muốn đưa nó trở lại mặc định trước khi thử nghiệm):
- Rút phích cắm của mọi tai nghe hoặc các thiết bị âm thanh khác NGOẠI TRỪ các loa KHÔNG hoạt động.
- Bắt đầu phát một tệp âm thanh thường tạo ra âm thanh từ loa của bạn, mặc dù hiện tại không phải vậy. Sau đó,
Mở terminal của bạn và chạy lệnh:
alsamixer
Bạn nên xem như sau:
Do sự khác biệt giữa các card âm thanh, thiết bị của bạn hơi khác so với các thiết bị trong ảnh. Trong trường hợp của tôi và trước khi khắc phục sự cố, alsamixer của tôi trông giống như hình ảnh trên.
- Tắt tiếng bất kỳ thiết bị nào hiện đang bị tắt tiếng (sử dụng phím 'm' để chuyển đổi tắt tiếng). Sau đó nâng thanh trượt âm lượng lên trên bất kỳ thiết bị nào không ở mức 100%.
Nếu bạn có thể nghe thấy âm thanh từ loa của mình, cách khắc phục này là dành cho bạn!
Nếu bạn không nghe thấy bất kỳ âm thanh nào, hãy quay lại "Google" và tiếp tục tìm kiếm. Phương pháp này sẽ KHÔNG giúp bạn.
Nếu bạn thành công có âm thanh từ bài kiểm tra ở trên, điều chúng ta cần làm bây giờ là chơi với cài đặt alsamixer để xác định:
- Điều khiển âm lượng của thiết bị nào thực sự kiểm soát âm lượng loa của bạn và
- Những thiết bị nào cần được tắt tiếng để loa hoạt động. Nhiều thiết bị có thể cần phải được tắt tiếng.
Khi chúng tôi biết cài đặt ALSA mà loa sẽ hoạt động, chúng tôi có thể sử dụng thông tin này để thực hiện các thay đổi cần thiết cho đường dẫn bộ trộn PA của mình.
Trong trường hợp của tôi, tôi phát hiện ra rằng tai nghe và loa của tôi được liên kết trong ALSA theo các cách sau:
- Âm lượng tai nghe của tôi được điều khiển bởi thiết bị "Tai nghe".
- Để có được âm thanh từ tai nghe của tôi yêu cầu các thiết bị "Chính" và "Tai nghe" không được tắt tiếng.
- Âm lượng loa của tôi C ALNG được điều khiển bởi thiết bị "Tai nghe". (Cài đặt âm lượng loa ALSA đáng ngạc nhiên không ảnh hưởng đến âm lượng loa của tôi.)
- Nhận âm thanh từ loa của tôi yêu cầu các thiết bị "Chính" và "Loa" không được bật.
Đường dẫn bộ trộn mặc định của người nói trong PulseAudio (PA) cho rằng loa của tôi độc lập với tai nghe của tôi. Mà, như đã chứng minh ở trên bằng quan sát 3, không phải là trường hợp. Sau đó, đường dẫn bộ trộn mặc định trong PA cho loa của tôi đã thực hiện các thay đổi có vấn đề sau trong ALSA bất cứ khi nào đầu ra loa được chọn trong PA:
- Giảm âm lượng tai nghe xuống 0.
- Đặt thiết bị loa làm điều khiển âm lượng.
Dựa vào cách tôi đã quan sát mối liên kết giữa loa và tai nghe của ALSA như được mô tả trước đó, những thay đổi này đối với ALSA sẽ ngăn âm thanh phát ra từ loa của tôi.
Vì vậy, giải pháp cho vấn đề này có được bằng cách sửa đổi đường dẫn bộ trộn của người nói.
Các tệp đường dẫn bộ trộn PA được đặt trong:
/ usr / share / pulseaudio / alsa-mixer / path /
Để xác định tệp đường dẫn bộ trộn nào điều khiển loa của bạn, bạn cần:
Đảm bảo rằng đầu ra loa của bạn được chọn trong PA (tức là không phải tai nghe của bạn).
Mở terminal và chạy lệnh sau:
pactl list | grep 'Active Port.*output.*'
Nó sẽ xuất ra một cái gì đó trông như thế này:
Cổng hoạt động: audiotype -output- thiết bị
I E
"Cổng hoạt động" là cổng PA hiện đang kiểm soát cài đặt ALSA. Vì bạn đã chọn loa của mình làm đầu ra PA, đầu ra này từ lệnh đầu cuối cho bạn biết rằng bạn cần chỉnh sửa tệp đường dẫn bộ trộn audiotype -output- device .conf. Trong trường hợp của tôi, tệp đường dẫn bộ trộn là analog-output-loa.conf.
Bây giờ chúng ta có tệp đường dẫn trộn chính xác, chúng ta cần thực hiện các thay đổi của mình.
LƯU Ý: Trong thư mục đường dẫn bộ trộn này, có một tệp có tên 'analog-output.conf.common'. Nội dung của tệp này giải thích cách các tệp đường dẫn trộn được diễn giải. Nếu bạn muốn hiểu những thay đổi sau, tôi thực sự khuyên bạn nên xem tệp này trước khi chỉnh sửa (các) đường dẫn máy trộn của bạn!
Mỗi tệp đường dẫn trộn chứa nhiều "Phần tử". Lý tưởng nhất, có một yếu tố đại diện cho từng thiết bị ALSA trên máy tính của bạn trong mỗi tệp. Có thể có những yếu tố mà bạn không có là tốt. Điều này là bình thường.
Trong trường hợp của tôi, tôi cần thay đổi các thành phần Tai nghe và Loa trong đường dẫn bộ trộn cho đầu ra tương tự-loa.conf theo các cách sau:
- Cho phép âm lượng PA để điều chỉnh âm lượng ALSA của tai nghe.
Nguyên:
[Element Headphone]
switch = off
volume = off
Đã chỉnh sửa:
[Element Headphone]
switch = off
volume = merge
override-map.1 = all
override-map.2 = all-left,all-right
- (Tùy chọn) Đặt âm lượng loa thành tắt và ngăn âm lượng PA ảnh hưởng đến âm lượng ALSA. (Nếu bạn không làm điều này, âm thanh của bạn sẽ vẫn hoạt động, nhưng cài đặt loa trong ALSA sẽ bị dội lại một cách bất thường.)
Nguyên:
[Element Speaker]
required-any = any
switch = mute
volume = merge
override-map.1 = all
override-map.2 = all-left,all-right
Đã chỉnh sửa:
[Element Speaker]
required-any = any
switch = mute
volume = off
Sau đó, khởi động lại PA bằng cách thực hiện:
pulseaudio -k && pulseaudio --start
Võngà!