有什么东西阻碍了音频控制?

有什么东西阻碍了音频控制?

最近我注意到似乎有什么东西阻塞了各种音频控件 - 主要是混音器。我无法从任务栏访问混音器窗口,我的键盘音量旋钮不起作用,静音也不行。

但是 - 所有生成的事件都在那里,因为当问题消失时(通常在 10-30 秒范围内),我生成的所有事件(音量增大/减小、静音)都会应用。

知道那可能是什么吗?或者如何调试它?

Straced kmix 启动。它看起来好像在等待来自 dbus 的一些信息 - 我看到它向 fd=3(之前连接到 /tmp/dbus-something)发送和接收了一些消息,然后它等待了 21 秒!,然后它从 dbus 获得新消息,消息如下所示:

27888 15:16:43.485816 recvmsg(3, {msg_name(0)=NULL, msg_iov(1)=[{"l\2\1\1\302\v\0\0,\0\0\0.\0\0\0\6\1s\0\6\0\0\0:1.102\0\0\5\1u\0\t\0\0\0\10\1g\0\1s\0\0\7\1s\0\5\0\0\0:1.44\0\0\0\275\v\0\0<!DOCTYPE node PUBLIC \"-//freedesktop//DTD D-BUS Object Introspection 1.0//EN\"\n\"http://www.freedesktop.org/standards/dbus/1.0/introspect.dtd\">\n<node>\n  <interface name=\"org.kde.KApplication\">\n    <method name=\"updateUserTimestamp\">\n      <arg name=\"time\" type=\"i\" direction=\"in\"/>\n    </method>\n    <method name=\"updateUserTimestamp\">\n    </method>\n    <method name=\"reparseConfiguration\">\n    </method>\n    <method name=\"quit\">\n    </method>\n  </interface>\n  <interface name=\"com.trolltech.Qt.QApplication\">\n    <property name=\"cursorFlashTime\" type=\"i\" access=\"readwrite\"/>\n    <property name=\"doubleClickInterval\" type=\"i\" access=\"readwrite\"/>\n    <property name=\"keyboardInputInterval\" type=\"i\" access=\"readwrite\"/>\n    <property name=\"wheelScrollLines\" type=\"i\" access=\"readwrite\"/>\n    <property name=\"globalStrut\" type=\"(ii)\" access=\"readwrite\">\n      <annotation name=\"com.trolltech.QtDBus.QtTypeName\" value=\"QSize\"/>\n    </property>\n    <property name=\"startDragTime\" type=\"i\" access=\"readwrite\"/>\n    <property name=\"startDragDistance\" type=\"i\" access=\"readwrite\"/>\n    <property name=\"quitOnLastWindowClosed\" type=\"b\" access=\"readwrite\"/>\n    <property name=\"styleSheet\" type=\"s\" access=\"readwrite\"/>\n    <property name=\"autoSipEnabled\" type=\"b\" access=\"readwrite\"/>\n  </interface>\n  <interface name=\"com.trolltech.Qt.QCoreApplication\">\n    <property name=\"applicationName\" type=\"s\" access=\"readwrite\"/>\n    <property name=\"applicationVersion\" type=\"s\" access=\"readwrite\"/>\n    <property name=\"organizationName\" type=\"s\" access=\"readwrite\"/>\n    <property name=\"organizationDomain\" type=\"s\" access=\"readwrite\"/>\n  </interface>\n  <interface name=\"org.kde.KUniqueApplication\">\n    <method name=\"newInstance\">\n      <arg type=\"i\" direction=\"out\"/>\n      <arg name=\"asn_id\" type=\"ay\" direction=\"in\"/>\n      <arg name=\"args\" type=\"ay\" direction=\"in\"/>\n    </method>\n    <method name=\"newInstance\">\n      <arg type=\"i\" direction=\"out\"/>\n      <arg name=\"asn_id\" type=\"ay\" dir", 2048}], msg_controllen=0, msg_flags=MSG_CMSG_CLOEXEC}, MSG_CMSG_CLOEXEC) = 2048 <0.000008>

它包含字符串“introspection”——不知道它是关于什么的,但也许它可能相关?

我是非常愿意做额外的测试/跟踪/任何方法来解决问题,所以如果你有任何想法 - 请说出来。

答案1

虽然不是一个答案,但可以让我更好地格式化我的建议而不是评论。

获取一些 .wav 文件,不确定 aplay 本身支持什么,但如果它还不支持 mp3 之类的文件,那么尝试让它支持它是没有意义的。

尝试通过在命令提示符下键入此内容来尽可能消除冲突的进程。

  1. sudo init 3...这应该会将您带到命令行,只有通过进入单用户模式,您才能消除更多,sudo init 1但它可能会消除太多不确定的东西。

  2. 如果尚未登录,请先登录,alsamixer如果未找到,请先输入sudo apt-get install alsa-utils。Alsamixer 将允许您在其启动的界面中使用箭头键来调整音量。

  3. 按 ctrl+alt+f1 这将使您再次进入新的命令提示符登录。

  4. 执行aplay /path/to/sound.wav文件后应该开始播放。

  5. 如果它是一个空白提示,请按 ctrl+alt+f7 返回 alsamixer,翻阅它们以找到它是哪一个 ctrl+alt+f2...等等。

  6. 开始调节音量,看看是否有延迟。

sudo init 5恢复你的GUI

答案2

您可以完全摆脱 kmix 而使用快捷方式:

amixer -c 0 set Master 3- unmute
amixer -c 0 set Master 3+ unmute
amixer -c 0 set PCM 3- unmute
amixer -c 0 set PCM 3+ unmute

前两个将提高/降低主音量,后两个将对 PCM 通道执行相同操作。

我将它们分别映射到 Win+Up、Win-Down 和 Ctr+Win+Up、Ctr+Win+Down。不再需要鼠标移动。

相关内容