无需重启即可“重新加载” Mac 音频驱动程序

无需重启即可“重新加载” Mac 音频驱动程序

我有一个外部音频接口(M-audio fast track c400)。为了让我的 MacBook 识别它(在音频/midi 设置中显示),我必须重新启动,这很麻烦。我曾经有过其他 m-audio 接口,它们在连接时会自动被检测到,我很确定这个应该也一样。互联网上的大多数帖子都建议更新设备的操作系统或软件/固件。我做了所有这些,但没有成功。我目前正在运行 OS X 10.8.5。

有没有办法强制 OS X 重新加载设备?最好是一些命令行巫术,我可以在需要时快速启动或用一个漂亮的小 shell 脚本包装起来。

编辑:进度..

问题现在似乎已经解决了...我不确定下面是如何解决这个问题的。如果你知道,请评论!

受到 @sbugert 回答的启发,我开始研究其他可能在重新启动后起作用的系统守护进程。我盲目地杀死了coreservicesd。这导致操作系统变得明显不稳定,最终我自动退出。令我惊讶的是,当我重新登录时,我的音频接口被识别了。

基于此,我假设终止coreservicesd并注销/登录可能是一种可行的(丑陋的)解决方法。因此,我拔下接口并将其重新插入,并且如预期的那样,它无法被识别。因此,我终止了 coreservicesd 并尝试注销,但是由于终止 coreservicesd 导致的不稳定,我无法让系统注销。我最终被迫进行“硬”关机(即按住电源按钮直到它关闭)。再次启动 MacBook 后,现在每次插入时都会自动识别接口。我怀疑这种“硬”重置可能已经解决了问题,而无需对 coreservices 守护程序进行所有恶作剧,但我无法测试这一点。

如果有人可以阐明这一点,请这样做!

编辑:它再次停止工作,所以我不知道发生了什么。

答案1

编辑:很可能只适用于 10.13 之前的 osx

这是你需要的,

sudo kextunload /System/Library/Extensions/AppleHDA.kext
sudo kextload /System/Library/Extensions/AppleHDA.kext

但如果你也想关闭 coreaudio,

 ps aux | grep 'coreaudio[d]' | awk '{print $2}' | xargs sudo kill

请谨慎使用。这样写的目标是专门为了排除在 out 中 grepping
进程本身。grepgrepps

答案2

尝试在终端中输入以下内容:

sudo killall coreaudiod

这将终止 coreaudio 进程并重新启动它。

答案3

重新启动 coreaudiod 的“正确”方法是这样的:sudo launchctl kickstart -kp system/com.apple.audio.coreaudiod

答案4

我有相同的界面,当我第一次得到它时,这种情况经常发生。

我以为问题出在我的 Mac 的音频驱动程序上,但实际上问题出在我插入接口的方式上。

每次我想要使用它时,我都必须将其拔下然后再插入计算机。

相关内容