使用 High-Resolution PCM 音訊

[與此頁面相關聯的功能 Windows Media Format 11 SDK是舊版功能。 來源讀取器和接收寫入器已取代它。 來源讀取器和接收寫入器已針對Windows 10和Windows 11進行優化。 Microsoft 強烈建議新程式碼盡可能使用來源讀取器和接收寫入器,而不是Windows 媒體格式 11 SDK。 Microsoft 建議使用舊版 API 的現有程式碼盡可能重寫為使用新的 API。

Windows Media Audio 9 Professional 編解碼器和 Windows Media Audio 9 Lossless 編解碼器的一些輸入格式是高解析度 PCM 格式。 這些是具有兩個以上的通道或每個樣本超過 16 位的 PCM 格式,每個樣本 (超過兩個通道的音訊也稱為多通道音訊) 。

這些格式是使用一個結構化副檔名來設定,此結構稱為「WAVEFORMATEXTENSIBLE」 WAVEFORMATEXTENSIBLE結構包含音訊中包含的通道相關資訊。 使用高解析度 PCM 音訊時,需要此結構,因為某些 Windows API 不接受包含高解析度值的 WAVEFORMATEX 結構。

高解析度 PCM 格式有 22 個位元組的擴充資料,此資料是在CBSize結構的成員中指定。 高解析度的 Windows 媒體音訊格式不會使用 WAVEFORMATEXTENSIBLE 結構,但已將擴充資料附加至 「APIATEX 」結構。

當應用程式在 Windows XP 或更新版本上執行時,Windows 媒體音訊編解碼器僅支援解碼為高解析度 PCM 格式。 在舊版的 Microsoft Windows 上,編解碼器會解碼為每個樣本和 2 個通道最多 16 位的格式。 此外,您必須使用IWMReaderAdvanced2::SetOutputSetting方法,將g_wszEnableDiscreteOutput輸出設定設為TRUE,以指定編解碼器要解碼為高定義 PCM。 進行此呼叫之後,讀取器所列舉的輸出會包含高定義格式。

多重通道音訊需要更多設定。 如需詳細資訊,請參閱 讀取多通道音訊

使用輸入