Odpowiedzi:
Istnieje rozwiązanie wiersza polecenia, które znalazłem w Mac Rumours
sudo kill `ps -ax | grep 'coreaudiod' | grep 'sbin' |awk '{print $1}'`
Które można przypisać do aliasu:
alias fixairplay="sudo kill `ps -ax | grep 'coreaudiod' | grep 'sbin' |awk '{print $1}'`"
Następnie to polecenie rozwiązuje problem:
fixairplay
Co musisz zrobić, to zrestartować coreaudio deamon ( coreaudiod
). Otwórz terminal i uruchom sudo killall coreaudiod
. Tak proste jak to.
Następnie, jeśli masz trudności z zapamiętaniem powyższego, możesz dodać następujący wiersz ~/.bash_profile
alias fixairplay='sudo killall coreaudiod'
Od teraz możesz po prostu używać aliasu fixairplay
.
Zainspirowany przez Mohsena, ale uproszczony przy użyciu pgrep .
sudo kill `pgrep coreaudio`
Powodem istnienia pgrep jest uniknięcie parsowania wyjścia ps i jest o wiele bezpieczniejszy w użyciu, gdy jest wysyłany w celu zabicia , IMHO ponieważ mniej prawdopodobne jest, że złapiesz niewłaściwe informacje o procesie.
W każdym razie zaakceptowana odpowiedź działała świetnie (Mavericks).
Tak samo miałem z HDMI. Tj. Z jakiegoś powodu, który muszę jeszcze zidentyfikować, mój Mac mini (działający Mavericks) przełączy się na korzystanie z głośników wewnętrznych, a każda próba przełączenia z powrotem na HDMI nie tylko odbije się z powrotem na głośniki wewnętrzne.
Zabicie coreaudio (które następnie się zrestartuje) również rozwiązuje problem HDMI. @ 0sh i @ jl-peyret mają najprostsze polecenia, które można wprowadzić w terminalu:
sudo kill `pgrep coreaudio`
lub
sudo killall coreaudiod
Dla ludzi, którzy lubią uciekać od terminalu, można również zamknąć coreaudiod proces od monitora aktywny .
W tym artykule jest kilka innych zaleceń, jeśli to nie rozwiązuje problemu , choć niektóre z nich są nieco ekstremalne.