[Share Experiences] 解决耳机没有声音,外放有声音的问题 Resolved
Tofloor
poster avatar
蒲向雪
deepin
2023-05-27 03:17
Author

这两天一直在解决这个问题,也在百度搜索了很多问题。但是都没有很好的解决方式。

image.png

下班没事搜搜了百度,发现了个帖子:[https://blog.csdn.net/aaazz47/article/details/78594091]

通过 alsamixer进行调试。

首先测试发现,虽然我插入耳机输出设备那里还是空的

image.png

但是在命令行中,调试 alsamixer -> F6打开菜单时,是有HeadPhone这个选项的,只不过声音为0而且为静音(静音标志为MM ,按 M键可以变成不是静音)。

image.png

本来以为把声音加回来耳机就好了(谁知道耳机和外放同时都有声音,差点挨骂!)

这也证明了耳机是有机会恢复的,所以我反复的把Master/Speaker变成静音,来回测试(不要用键盘的加减音量键!不然还是同步的声音)

image.png

直到后面系统设置内音量为0,但是Master/HeadPhone/Speaker都不为0,这时候就是成功了!

这个有点玄学的(感觉像是BUG),反复测试几次就成功了。成功之后不要再去按音量键啥的,如果要改音量去调Master ,让Speaker小点就行

image.png

至于为什么,或者有点玄学,我也不太清楚,但是这样可以保证耳机有声音!(重启后需要重新调试好像,没敢重启!)

Reply Favorite View the author
All Replies
蒲向雪
deepin
2023-05-27 03:19
#1

链接:https://blog.csdn.net/aaazz47/article/details/78594091 ,文章里面那个好像没加上

Reply View the author
相信
deepin
2023-05-27 04:17
#2

我的台电X6 Plus平板电脑就是声音-输出-输出设备为空,开了蓝牙,才能连接音响使用。

不会搞,只能这样凑合用。

Reply View the author
蒲向雪
deepin
2023-05-27 04:27
#3
相信

我的台电X6 Plus平板电脑就是声音-输出-输出设备为空,开了蓝牙,才能连接音响使用。

不会搞,只能这样凑合用。

你试一下那个命令 把Speaker改低 ,让HeaderPhone变大,Master来控制音量

Reply View the author
W2J
deepin
2023-05-27 05:52
#4

udev作为systemd的一部分,默认已安装。

作为一号进程,sytemd能够管理系统内并发进程间相互依赖或跟随关系。udev也是如此,udev 是一个用户空间的设备管理器,用于为事件设置处理程序和群组权限。

作为守护进程, udev 接收的事件主要由 linux 内核生成,这些事件是外部设备产生的物理事件。udev其实就是所谓的HAL(硬件抽象层)的实现者。作为 devfsd 和 hotplug 的替代品, udev 还负责管理 /dev 中的设备节点,即添加、链接和重命名节点,取代了 hotplughwdetect

总之, udev 探测外设和热插拔,将设备控制权传递给内核,例如加载内核模块或设备固件。

udev的‘u’ 指明它是一个用户空间系统,可以让操作系统管理员为事件注册用户空间处理器。

为了实现外设侦测和热插拔,udev 守护进程接收 Linux 内核发出的外设相关事件; 加载内核模块、设备固件; 调整设备权限,让普通用户和用户组能够访问设备。udev依据的规则,以管理员身份编写并保存在 /etc/udev/rules.d/ 目录,其文件名必须以 .rules 结尾。

===

楼主说的这个问题,其实要从耳机插入的物理信号响应开始说起,

显然这个物理信号会被内核接收,并交给udev在用户空间做HAL处置,udev布置一系列配置更动和驱动加载,再把控制权还回内核。

一般来说,内部音频/耳麦/蓝牙/HDMI完成了HAL驱动处置后,会等待用户交互系统进行音频路径控制和音量调节。

通常对耳麦,是插入时自动切换音频和自动设置缺省音量的。

Reply View the author