我的問題:
- 在 Finder 裡面按空白鍵 Preview 音檔(qlmanage)、跟用 mpv cli 播放音檔的時候,左右聲道都相反
- 用 VLC 跟瀏覽器正常
一些測試指令:
# 產生只有左聲道有聲音的測試檔
ffmpeg -f lavfi -i "sine=frequency=440:sample_rate=48000:duration=3" \
-af "pan=stereo|FL=c0" /tmp/left_only.wav
# 播放測試檔
mpv /tmp/left_only.wav
mpv -v /tmp/left_only.wav 2>&1 | grep -E "audio|channel|ao|device"
解決
sudo rm -rf /Library/Preferences/Audio/com.apple.audio.DeviceSettings.plist
sudo rm -rf /Library/Preferences/Audio/com.apple.audio.SystemSettings.plist
sudo killall coreaudiod
問題根本原因
macOS 會把每個音訊裝置的設定存成快取檔案。AirPods 在某個時間點(可能是更新、重新連接、或某個 app 亂動設定)讓這個快取記錄了錯誤的聲道順序——把「右聲道在前」誤存成 AirPods 的格式。
所以 macOS 就一直用這個錯誤的資訊輸出音訊。