2014年4月20日星期日

MAC_009:唤醒后无声的解决办法

OS X 版本:10.9.2。

情况是这样的:一开始我插着耳机听音乐,然后中间去做其它事情,回来时,MAC休眠了。
唤醒后,拔掉耳机后开始工作,发现没有声音了,而声音提示显示一切正常。
来来回回折腾了一下,还是不行,因为还有其它程序在运行,我不想重启。

经过百度,发现这是MAC的一个BUG,解决办法如下:

切换到root用户,然后先卸载音频驱动,再重新加载音频驱动:
# kextunload /System/Library/Extensions/AppleHDA.kext
# kextload /System/Library/Extensions/AppleHDA.kext

为了方便,参考文献1还写成了脚本,贴在下面,我不懂Apple Script,贴出来留待以后参考吧:

on run {input, parameters}
do shell script "" with administrator privileges
set the rootPwd to text returned of (display dialog "请输入您的管理员密码:" default answer "" with hidden answer)
try
do shell script "echo " & rootPwd & "|sudo -S killall coreaudiod"
do shell script "echo " & rootPwd & "|sudo -S kextunload /System/Library/Extensions/AppleHDA.kext"
do shell script "echo " & rootPwd & "|sudo -S kextload /System/Library/Extensions/AppleHDA.kext"
do shell script "sudo -k" --logout root
display dialog "操作已经成功完成,您的系统应该能够恢复声音。如果问题依旧,请直接重启系统。" buttons {"好"} with icon 1 with title "成功"
on error
display dialog "由于您输入错误的密码,操作无法进行。请再次运行这个服务,并重新输入正确的当前管理员密码。" buttons {"好"} with icon caution with title "错误"
end try
return input
end run

参考文献:
1. http://tieba.baidu.com/p/2865826102

没有评论: