本帖最后由 道奇兔 于 2010-12-19 19:06 编辑
要達到自動切換.必須硬體上支援才可以 1.機箱是HD Audio 2.在windows底下就能達到切換 要下載的東西都放在最下面請自行索取 如果以上可以就能使用自動切換.在達到此目的前必須先修改一下VoodooHDA才可以 首先先用VoodooHDA驅動聲卡.然後用附件的getdump把聲卡訊息讀出來如下
我們需要參考的東西如下Codec:3 是參考這裡的Probing codec #“3”…Config則是這裡
nid 20 0x01014110Node 就是nid的值之後打開系統偏好設定>聲音你會發現你一開始輸出預設是這樣
接來要說明一些原則我拿我的來做說明揚聲器 nid 20 0x01014110耳機 nid 27 0x02214c20標記紅色的是等一下要改的nid 20的背面綠色輸出的pin定義是0x01014110(0x之後第一個0是外置插口..1是背面..之後0是線路輸出..1是1/8插口4是綠色..1是識別切換開啟..0是組別中第一個位置。 而nid 27的前面板耳機的pin定義0x02214111(之後第一個0是外置插口2是前面..之後 2 是耳機..1是1/8插口..4是綠色..1是識別切換開啟..1是組別 ..1是組別中第二個位置組別(就是最後第二位數字)不能和其他組別重複。儘管你沒有設置其他,可能系統默認了 要揚聲器/耳機切換就必須把2個分組在一起首先必須把揚聲器的做更改.由於耳機位置無法做更改.因此必須強制讓揚聲器跟耳機分在同一組.耳機的組別是2因此把他改成2然後組別位置改成1不能跟耳機衝突.之後要修改耳機.由於要讓他識別切換.因此需要改成1. 修改成功會成這樣耳機 改完會便這樣揚聲器 nid 20
0x01014121nid 27
0x02014120同理如果你想要使用多聲道.就把它單獨分開就可以輸入只要把它分開就可以了 接下來說明一下要使用的參數如下- <dict>
- <key>Codec</key>
- <integer></integer>
- <key>Config</key>
- <string></string>
- <key>Node</key>
- <integer></integer>
- </dict>
复制代码
你可以根據dump出來的資料.是自己需求做修改之後把它加入在這個位置下面<key>NodesToPatch</key>如下.
但是不想開多聲道.也不想看到其他多餘裝置
可以使用0x400000f0把那個裝置屏蔽掉
如下示範:- <dict>
- <key>Codec</key>
- <integer>3</integer>
- <key>Config</key>
- <string>0x400000f0</string>
- <key>Node</key>
- <integer>28</integer>
- </dict>
复制代码
接下來把修改的值填入info裡面.儲存放到S/L/E下面.重見緩存重啓就可以試試效果成功的話.不插入耳機而是使用揚聲器效果如圖
而當插入耳機時.則會自動揚聲器禁音.改用耳機輸出
下面附上我的VoodooHDA還有單獨的info.plist給大家參考參考
VoodooHDA.kext.zip
(145.04 KB, 下载次数: 290)
getdump.zip
(1.49 KB, 下载次数: 581)
Info.zip
(925 Bytes, 下载次数: 332)
|