裝置設定檔 — 適應每個裝置
實際的 UPnP 硬體對於其接受的內容不一致:一個串流器需要 24 位元 FLAC,另一個只播放 16 位元 PCM,第三個則謊報其支援的編解碼器。裝置設定檔是您教導外掛程式某個裝置的限制和怪癖的方式。
如何選擇設定檔。 每個裝置在連接時都會用 User-Agent 字串來識別自己。設定檔會說「當 user-agent 包含此片段時,請套用我」。當裝置連接時,外掛程式會找到匹配的設定檔;如果沒有匹配的,則會使用內建的通用裝置設定檔作為備用。您可以列出多個片段,用 | 分隔(例如 Linn|ChorusDS|BubbleDS),這樣一個設定檔就可以涵蓋一系列相關裝置。
設定檔控制什麼。 裝置不能超過的限制 — 專輯封面的最大圖片大小、允許的取樣率範圍、最大位元深度、僅限立體聲的降混 — 此外,當音軌確實需要轉換時,要轉換成的輸出格式和取樣率。一組單獨的「問題裝置」開關用於解決特定的硬體錯誤(原始 PCM 處理、位元組順序、HTTP content-length 標頭)。這些之所以存在,是因為實際的 UPnP 相容性參差不齊;大多數人從未觸碰它們。
何時觸碰設定檔。 僅當特定裝置行為異常時。開箱即用的通用設定檔,加上針對常見硬體提供的每個裝置預設值,涵蓋了大多數情況。要找到裝置的 user-agent 以便您可以針對它,請開啟偵錯日誌記錄(請參閱診斷),從裝置播放一些內容,然後讀取日誌中的 useragent= 行。
設定檔中最關鍵的開關 — 強制原生串流 — 根本與限制無關;它決定了上述任何內容是否適用。這是下一個概念。


設定
| 控制項 | 功能 |
|---|---|
| 名稱: | 設定檔的顯示名稱。 |
| 當使用者代理程式包含以下內容時套用: | 裝置必須包含的 user-agent 片段才能匹配此設定檔;用 | 分隔替代選項。不匹配的裝置會退回到通用設定檔。 |
| 最大圖片尺寸: | 傳送給此裝置的最大專輯封面像素大小(160 像素是 DLNA 標準;更大的尺寸並非普遍支援)。 |
| 輸出取樣率: / 至: | 裝置接受的取樣率範圍;超出此範圍的來源會被轉換(強制轉碼)。 |
| 聲道: / 僅限立體聲 | 將多聲道降混為立體聲,適用於只支援雙聲道的裝置。 |
| 最大位元深度: | 裝置接受的最高位元深度;更深的來源會被轉換。 |
| 輸出格式: | 當需要轉碼時,要轉換成的格式(PCM、FLAC、MP3、AAC、Ogg)。 |
| 輸出取樣率: | 轉碼時使用的取樣率;「與來源相同」會保留原始取樣率。 |
| 不使用 RAW PCM | 將 PCM 包裝在 WAV 容器中,而不是傳送原始 L16/L24。適用於會混淆原始 PCM 的裝置(某些 Marantz)。 |
| 強制 PCM 串流使用小端序 | 傳送小端序 PCM,而不是規範的大端序。解決期望小端序的裝置上播放白噪音的問題。 |
| 內容長度: | 如何填寫 HTTP Content-Length 標頭:預設(正確值)、無(省略)、僅限 PCM 或固定(一個哨兵「巨大」值)。適用於錯誤處理標頭的裝置。 |