PlayReady DRM

本主題描述如何將 PlayReady 保護的媒體內容新增至您的通用 Windows 平台 (UWP) 應用程式。

PlayReady DRM 可讓開發人員建立能夠為使用者提供 PlayReady 內容的 UWP 應用程式,同時強制執行內容提供者所定義的存取規則。 本節說明對適用於 Windows 10 的 Microsoft PlayReady DRM 所做的變更,以及如何修改 PlayReady UWP 應用程式以支援從舊版 Windows 8.1 版變更為 Windows 10 版本所做的變更。

主題 說明
硬體 DRM 本主題概述如何將 PlayReady 以硬體為基礎的數位版權管理 (DRM) 新增至 UWP 應用程式。
使用 PlayReady 進行自適性串流 本文說明如何使用 Microsoft PlayReady 內容保護將多媒體內容的自適性串流新增至通用 Windows 平台 (UWP) 應用程式。 這項功能目前支援透過 HTTP (DASH) 內容播放 Http 即時串流 (HLS) 和動態串流。

PlayReady DRM 的新增功能

下列清單描述 Windows 10 PlayReady DRM 的新功能和變更。

  • 已新增硬體數位版權管理 (HWDRM)。

    硬體型內容保護支援可在多個裝置平台上安全地播放高畫質 (HD) 和超高畫質 (UHD) 內容。 金鑰資料 (包括私鑰、內容金鑰,以及用來衍生或解除鎖定上述金鑰的任何其他金鑰資料),以及解密壓縮和未壓縮的視訊範例會利用硬體安全性來保護。 使用硬體 DRM 時,未知啟用器 (播放未知/使用 downres 播放未知) 都沒有意義,因為 HWDRM 管線始終知道正在使用的輸出。 如需詳細資訊,請參閱硬體 DRM

  • PlayReady 不再是 appX 架構元件,而是現成的作業系統元件。 命名空間已從 Microsoft.Media.PlayReadyClient 變更為 Windows.Media.Protection.PlayReady

  • 以下定義 PlayReady 錯誤代碼的標頭現在是 Windows 軟體開發工具套件 (SDK):Windows.Media.Protection.PlayReadyErrors.h 和 Windows.Media.Protection.PlayReadyResults.h 的一部分。

  • 提供主動取得非持續性授權。

    舊版 PlayReady DRM 不支援主動取得非持續性授權。 此功能已新增至此版本。 這可能會減少第一個畫面的時間。 如需詳細資訊,請參閱在播放之前主動取得非持續性授權

  • 提供在一則訊息中取得多個授權。

    允許用戶端應用程式在一個授權取得訊息中取得多個非持續性授權。 當使用者仍在瀏覽您的內容庫時,可以透過取得多個內容的授權來減少到達第一畫面的時間;這可以防止使用者選取要播放的內容時延遲取得授權。 此外,它還允許透過啟用包含多個金鑰識別碼 (KID) 的內容標題,將音訊和視訊串流加密為單獨的金鑰;這使得單一授權取得能夠獲取內容檔案內所有串流的所有授權,而不必使用自訂邏輯和多個授權獲取請求來達成相同的結果。

  • 已新增即時到期支援,或有限的持續時間授權 (LDL)。

    能夠設定授權的即時到期時間,並在播放過程中從到期授權順利轉換到另一個 (有效) 授權。 當與在一條訊息中獲取多個授權相結合時,這允許應用程式在使用者仍在瀏覽內容庫時非同步獲取多個LDL,並且僅在使用者選取要播放的內容後才獲取較長持續時間的授權。 然後,播放將更快地開始 (因為授權已經可用),並且由於應用程式將在 LDL 過期時獲得更長持續時間的授權,因此可以順利地繼續播放到內容末尾而不會中斷。

  • 已新增非持續性授權鏈結。

  • 已新增對非持續性授權的基於時間的限制 (包括過期、首次播放後過期和即時過期) 的支援。

  • 已新增 HDCP 類型 1 (Windows 10 上的 2.2 版) 原則支援。

    有關詳細資訊,請參閱要考慮的事項

  • Miracast 現在隱含為輸出。

  • 已新增安全停止。

    安全停止為 PlayReady 裝置提供了一種方法,可以自信地針對媒體串流服務判斷,任何指定內容的媒體播放已停止。 此功能可確保您的媒體串流服務為指定帳戶的不同裝置上的使用限制提供準確的執行和報告。

  • 已新增音訊和視訊授權分隔。

    個別曲目可防止視訊解碼為音訊;啟用更健全的內容保護。 新興標準要求音訊和視訊曲目使用單獨的金鑰。

  • 已新增 MaxResDecode。

    新增此功能是為了將內容播放限制為最大解析度,即使擁有功能更強大的金鑰 (但不是授權) 也是如此。 它支援使用單一金鑰對多個串流大小進行編碼的情況。

PlayReady DRM 中新增了以下新介面、類別和列舉:

建立了一個新範例來示範如何使用 PlayReady DRM 的新功能。 您可以從程式碼範例瀏覽器下載範例。

考量的事項

  • PlayReady DRM 現在支援 HDCP 類型 1 (HDCP 2.1 版或更新版本支援)。 PlayReady 在授權中攜帶 HDCP 類型限制原則,供裝置強制執行。 在 Windows 10 上,此原則會強制執行 HDCP 2.2 或更新版本。 這項功能可以在 PlayReady Server v3.0 SDK 授權中啟用 (伺服器會使用 HDCP 類型限制 GUID 在授權中控制此原則)。 如需詳細資訊,請參閱 PlayReady 合規性和健全性規則
  • 硬體 DRM 不支援 Windows Media Video (也稱為 VC-1) (請參閱覆寫硬體 DRM)。
  • PlayReady DRM 現在支援高效視訊編碼 (HEVC /H.265) 視訊壓縮標準。 若要支援 HEVC,您的應用程式必須使用通用加密配置 (CENC) 第 2 版內容,包括讓內容的配量標題保持清楚。 如需詳細資訊,請參閱 ISO/IEC 23001-7 資訊技術 -- MPEG 系統技術 - 第 7 部分:ISO 基底媒體檔格式檔案中的常見加密。如需詳細資訊,請參閱 ISO/IEC 23001-7:2015。 Microsoft 也建議針對所有 HWDRM 內容使用 CENC 第 2 版。 此外,某些硬體 DRM 將支援 HEVC,有些則不支援 (請參閱覆寫硬體 DRM)。
  • 若要利用某些新的 PlayReady 3.0 功能 (包括但不限於硬體型用戶端的 SL3000、在一個授權取得訊息中取得多個非持續性授權,以及非持續性授權的時間限制),PlayReady 伺服器必須是 Microsoft PlayReady Server 軟體開發工具套件 v3.0.2769 版本或更新版本。
  • 根據內容授權中指定的輸出保護原則,如果最終使用者連線的輸出不支援這些要求,則媒體播放可能會失敗。 下表列出了由此產生的一組常見錯誤。 如需詳細資訊,請參閱 PlayReady 合規性和健全性規則
錯誤 Description
ERROR_GRAPHICS_OPM_OUTPUT_DOES_NOT_SUPPORT_HDCP 0xC0262513 授權的輸出保護原則要求顯示器啟用 HDCP,但 HDCP 無法啟用。
MF_E_POLICY_UNSUPPORTED 0xC00D7159 授權的輸出保護原則要求顯示器參與 HDCP 類型 1,但 HDCP 類型 1 無法參與。
DRM_E_TEE_OUTPUT_PROTECTION_REQUIREMENTS_NOT_MET 0x8004CD22 只有在硬體 DRM 下執行時,才會發生此錯誤碼。 授權的輸出保護原則要求顯示器啟用 HDCP 或降低內容的有效解析度,但無法啟用 HDCP,並且無法降低內容的有效解析度,因為硬體 DRM 不支援降低內容的解析度。 在軟體 DRM 下,內容會播放。 請參閱使用硬體 DRM 的考量事項
ERROR_GRAPHICS_OPM_NOT_SUPPORTED 0xc0262500 圖形驅動程式不支援輸出保護。 例如,顯示器透過 VGA 或未安裝適用於數位輸出的圖形驅動程式來連線。 在後者的情況下,安裝的一般驅動程式是 Microsoft Basic Display Adapter,並安裝適當的圖形驅動程式將解決此問題。

輸出保護

下一節說明在 PlayReady 授權中使用適用於 Windows 10 的 PlayReady DRM 搭配輸出保護原則時的行為。

PlayReady DRM 支援包含在 Microsoft PlayReady Extensible Media Rights Specification 中的輸出保護層級。 本文件位於 PlayReady 授權產品隨附的檔案套件中。

注意

授權伺服器可以設定的輸出保護等級的允許值受 PlayReady 合規性規則

PlayReady DRM 允許僅在 PlayReady 合規性規則中指定的輸出連接器上播放具有輸出保護原則的內容。 有關 PlayReady 合規性規則中指定的輸出連接器術語的更多資訊,請參閱 PlayReady 合規性和健全性規則的定義術語

本節重點介紹適用於 Windows 10 的 PlayReady DRM 和適用於 Windows 10 的 PlayReady Hardware DRM 的輸出保護案例,這些案例在某些 Windows 用戶端上也可使用。 透過 PlayReady HWDRM,所有輸出保護均在 Windows TEE 實作中強制執行 (請參閱硬體 DRM)。 因此,某些行為與使用 PlayReady SWDRM (軟體 DRM) 時不同:

  • 支援未壓縮數位視訊 270 的輸出保護等級 (OPL):適用於 Windows 10 的 PlayReady HWDRM 不支援降低解析度,並將強制啟用 HDCP (高頻寬數位內容保護)。 建議 HWDRM 的高畫質內容具有大於 270 的 OPL (雖然不需要)。 此外,您應該在授權中設定 HDCP 類型限制 (HDCP 2.2 版或更新版本)。
  • 與 SWDRM 不同,HWDRM 會根據功能最弱的顯示器在所有顯示器上強制執行輸出保護。 例如,如果使用者連接了兩台顯示器,其中一台支援 HDCP,另一台不支援,則如果授權需要 HDCP,即使內容僅在支援 HDCP 的顯示器上呈現,播放也會失敗。 在 SWDRM 中,只要內容只在支援 HDCP 的顯示器上轉譯,內容就會播放。
  • 除非內容金鑰和授權符合以下條件,否則不保證 HWDRM 能夠被用戶端使用且安全:
    • 用於視訊內容金鑰的授權必須具有最低安全性層級 3000。
    • 音訊必須加密為與視訊不同的內容金鑰,且用於音訊的授權的最低安全性層級必須為 2000。 或者,音訊可以保持清晰。
  • 所有 SWDRM 案例都要求用於音訊和/或視訊內容金鑰的 PlayReady 授權的最低安全性層級低於或等於 2000。

輸出保護層級

下表概述 PlayReady 授權中各種 OPL 之間的對應,以及適用於 Windows 10 的 PlayReady DRM 如何強制執行它們。

影片

OPL 壓縮的數字視訊 未壓縮的數字視訊 類比電視
任意 HDMI、DVI、DisplayPort、MHL 元件、複合
100 N/A\* 傳遞內容 傳遞內容
150 N/A\* 當 CGMS-A CopyNever 啟用或 CGMS-A 無法啟用時傳遞內容
200 當 CGMS-A CopyNever 啟用時傳遞內容
250 嘗試使用 HDCP,但無論結果如何都會傳遞內容 N/A\*
270 SWDRM:嘗試與 HDCP 互動。 如果 HDCP 無法啟用,PC 會將有效解析度限制為每個畫面 520,000 像素,並傳遞內容 HWDRM:使用 HDCP 傳遞內容。 如果 HDCP 無法啟用,則 HDMI/DVI 連接埠的播放將封鎖
300

**未定義 HDCP 類型限制時:** 使用 HDCP 傳遞內容。 如果 HDCP 無法啟用,則 HDMI/DVI 連接埠的播放將封鎖。

**定義 HDCP 類型限制時**:傳遞 HDCP 2.2 的內容,並將內容串流類型設定為 1。 如果 HDCP 無法啟用或內容串流類型無法設定為 1,則 HDMI/DVI 連接埠的播放將封鎖。

400 不論後續的 OPL 值為何,Windows 10 永遠不會將壓縮的數位視訊內容傳遞至輸出。 如需壓縮數位視訊內容的詳細資訊,請參閱 PlayReady 產品的合規性規則 N/A\*
500

* 並非所有輸出保護層級的值都可以由授權伺服器設定。 如需詳細資訊,請參閱 PlayReady 合規性規則

音訊

OPL 壓縮的數位音訊 未壓縮的數位音訊 類比或 USB 音訊
HDMI、DisplayPort、MHL HDMI、DisplayPort、MHL 任意
100 傳遞內容 傳遞內容 傳遞內容
150 不會傳遞內容
200
250 當 HDMI、DisplayPort 或 MHL 上啟用 HDCP 時,或啟用 SCMS 並設定為 CopyNever 時,傳遞內容
300 當 HDMI、DisplayPort 或 MHL 上啟用 HDCP 時,傳遞內容

Miracast

PlayReady DRM 可讓您在啟用 HDCP 2.0 或更高版本後,立即透過 Miracast 輸出播放內容。 然而,在 Windows 10 上,Miracast 被視為數位輸出。 如需 Miracast 案例的詳細資訊,請參閱 PlayReady 合規性規則。 下表概述 PlayReady 授權中各種 OPL 之間的對應,以及 PlayReady DRM 如何在 Miracast 輸出上強制執行它們。

OPL 壓縮的數位音訊 未壓縮的數位音訊 壓縮的數字視訊 未壓縮的數字視訊
100 啟用 HDCP 2.0 或更高版本時傳遞內容。 如果無法啟用,則不會傳遞內容 啟用 HDCP 2.0 或更高版本時傳遞內容。 如果無法啟用,則不會傳遞內容 N/A\* 啟用 HDCP 2.0 或更高版本時傳遞內容。 如果無法啟用,則不會傳遞內容
150 不會傳遞內容 N/A\*
200
250 啟用 HDCP 2.0 或更高版本時傳遞內容。 如果無法啟用,則不會傳遞內容
270 N/A\*
300 啟用 HDCP 2.0 或更高版本時傳遞內容。 如果無法啟用,則不會傳遞內容 不會傳遞內容

**未定義 HDCP 類型限制時:** 在啟用 HDCP 2.0 或更新版本時傳遞內容。 如果無法啟用,則不會傳遞內容。

**定義 HDCP 類型限制時:** 傳遞 HDCP 2.2 的內容,並將內容串流類型設定為 1。 如果 HDCP 無法啟用或內容串流類型無法設定為 1,則不會傳遞內容。

400 N/A\* 不論後續的 OPL 值為何,Windows 10 永遠不會將壓縮的數位視訊內容傳遞至輸出。 如需壓縮數位視訊內容的詳細資訊,請參閱 PlayReady 產品的合規性規則 N/A\*
500

* 並非所有輸出保護層級的值都可以由授權伺服器設定。 如需詳細資訊,請參閱 PlayReady 合規性規則

其他明確的輸出限制

下表說明適用於 Windows 10 之 PlayReady DRM 的明確數位視訊輸出保護限制實作。

案例 GUID 如果... 則...
最大有效解析度解碼大小 9645E831-E01D-4FFF-8342-0A720E3E028F 連線輸出為:數位視訊輸出、Miracast、HDMI、DVI 等。

受限於以下內容時傳遞內容:

  • (a) 畫面的寬度必須小於或等於以像素為單位的最大畫面寬度,且畫面的高度必須小於或等於以像素為單位的最大畫面高度,或
  • (b) 畫面的高度必須小於或等於以像素為單位的最大畫面寬度,且畫面的寬度必須小於或等於以像素為單位的最大畫面寬度
HDCP 類型限制 ABB2C6F1-E663-4625-A945-972D17B231E7 連線輸出為:數位視訊輸出、Miracast、HDMI、DVI 等。 使用 HDCP 2.2 傳遞內容,並將內容串流類型設定為 1。 如果 HDCP 2.2 無法啟用或內容串流類型無法設定為 1,則不會傳遞內容。 也必須指定大於或等於 271 之值的未壓縮數位視訊輸出保護層級

下表說明適用於 Windows 10 之 PlayReady DRM 的明確類比視訊輸出保護限制實作。

案例 GUID 如果... 則...
類比電腦顯示器 D783A191-E083-4BAF-B2DA-E69F910B3772 連線輸出為:VGA、DVI –類比等。 SWDRM:電腦將限制每個畫面的有效解析度為 520,000 epx,並傳遞內容 HWDRM:不會傳遞內容
類比元件 811C5110-46C8-4C6E-8163-C0482A15D47E 連線輸出為:元件 SWDRM:電腦將限制每個畫面的有效解析度為 520,000 epx,並傳遞內容 HWDRM:不會傳遞內容
類比電視輸出 2098DE8D-7DDD-4BAB-96C6-32EBB6FABEA3 類比電視 OPL 小於 151 CGMS-A 必須啟用
225CD36F-F132-49EF-BA8C-C91EA28E4369 類比電視 OPL 小於 101,且授權不包含 2098DE8D-7DDD-4BAB-96C6-32EBB6FABEA3 必須嘗試啟用 CGMS-A,但無論結果如何,內容都可以播放
自動增益控制項和色帶 C3FD11C6-F8B7-4D20-B008-1DB17D61F2DA 將解析度小於或等於 520,000 像素的內容傳遞至類比電視輸出 根據表 3.5.7.3,僅當解析度小於 520,000 像素時,為分量視訊和 PAL 模式設定 AGC;當解析度小於 520,000 像素時,為 NTSC 設定 AGC 和色帶資訊。 合規性規則中
僅數位輸出 760AE755-682A-41E0-B1B3-DCDF836A7306 連線輸出為類比 不會傳遞內容

注意

當使用「Mini DisplayPort to VGA」等配接器硬體鎖進行播放時,Windows 10 將輸出視為數位視訊輸出,且無法強制執行類比視訊原則。

下表描述了適用於 Windows 10 的 PlayReady DRM 實作,該實作允許在其他情況下進行播放。

案例 GUID 如果... 則...
未知的輸出 786627D8-C2A6-44BE-8F88-08AE255B01A7 如果無法合理判斷輸出,或無法使用圖形驅動程式建立 OPM SWDRM:傳遞內容 HWDRM:不會傳遞內容
具有限制的未知輸出 B621D91F-EDCC-4035-8D4B-DC71760D43E9 如果無法合理判斷輸出,或無法使用圖形驅動程式建立 OPM SWDRM:電腦將限制每個畫面的有效解析度為 520,000 epx,並傳遞內容 HWDRM:不會傳遞內容

必要條件

開始建立受 PlayReady 保護的 UWP 應用程式之前,系統必須安裝下列軟體:

  • Windows 10。
  • 如果您要編譯適用於 UWP 應用程式的 PlayReady DRM 的任何範例,您必須使用 Microsoft Visual Studio 2015 或更新版本來編譯範例。 您仍然可以使用 Microsoft Visual Studio 2013 從 PlayReady DRM for Windows 8.1 Store 應用程式編譯任何範例。

PlayReady UWP 應用程式移轉指南

本節包含如何將您現有的 PlayReady Windows 8.x Store 應用程式移轉至 Windows 10 的相關資訊。

Microsoft.Media.PlayReadyClient 應用程式的命名空間已從 Microsoft.Media.PlayReadyClient 變更為 Windows.Media.Protection.PlayReady。 這表示您必須在程式碼中搜尋舊命名空間,並將舊的命名空間取代為新的命名空間。 您仍然會參考 winmd 檔案。 它是 Windows 10 作業系統上 windows.media.winmd 的一部分。 它是在 windows.winmd 中,做為 TH 的 Windows SDK 的一部分。 針對 UWP,它會在 windows.foundation.univeralappcontract.winmd 中參考。

若要播放 PlayReady 保護的高畫質 (HD) 內容 (1080p) 和超高畫質 (UHD) 內容,您必須實作 PlayReady 硬體 DRM。 如需如何實作 PlayReady 硬體 DRM 的資訊,請參閱硬體 DRM

硬體 DRM 不支援某些內容。 如需停用硬體 DRM 和啟用軟體 DRM 的資訊,請參閱覆寫硬體 DRM

關於媒體保護管理員,如果程式碼尚未設定,請確定您的程式碼具有下列設定:

var mediaProtectionManager = new Windows.Media.Protection.MediaProtectionManager();

mediaProtectionManager.Properties["Windows.Media.Protection.MediaProtectionSystemId"] = 
             '{F4637010-03C3-42CD-B932-B48ADF3A6A54}'
var cpsystems = new Windows.Foundation.Collections.PropertySet();
cpsystems["{F4637010-03C3-42CD-B932-B48ADF3A6A54}"] = 
                "Windows.Media.Protection.PlayReady.PlayReadyWinRTTrustedInput";
mediaProtectionManager.Properties["Windows.Media.Protection.MediaProtectionSystemIdMapping"] = cpsystems;

mediaProtectionManager.Properties["Windows.Media.Protection.MediaProtectionContainerGuid"] = 
                "{9A04F079-9840-4286-AB92-E65BE0885F95}";

在播放之前主動取得非持續性授權

本節說明如何在開始播放之前主動取得非持續性授權。

在先前版本的 PlayReady DRM 中,只能在播放期間被動取得非持續性授權。 在此版本中,您可以在開始播放之前主動取得非持續性授權。

  1. 主動建立可儲存非持續性授權的播放工作階段。 例如:

    var cpsystems = new Windows.Foundation.Collections.PropertySet();       
    cpsystems["{F4637010-03C3-42CD-B932-B48ADF3A6A54}"] = "Windows.Media.Protection.PlayReady.PlayReadyWinRTTrustedInput"; // PlayReady
    
    var pmpSystemInfo = new Windows.Foundation.Collections.PropertySet();
    pmpSystemInfo["Windows.Media.Protection.MediaProtectionSystemId"] = "{F4637010-03C3-42CD-B932-B48ADF3A6A54}";
    pmpSystemInfo["Windows.Media.Protection.MediaProtectionSystemIdMapping"] = cpsystems;
    var pmpServer = new Windows.Media.Protection.MediaProtectionPMPServer( pmpSystemInfo );
    
  2. 將該播放工作階段繫結至授權取得類別。 例如:

    var licenseSessionProperties = new Windows.Foundation.Collections.PropertySet();
    licenseSessionProperties["Windows.Media.Protection.MediaProtectionPMPServer"] = pmpServer;
    var licenseSession = new Windows.Media.Protection.PlayReady.PlayReadyLicenseSession( licenseSessionProperties );
    
  3. 建立授權服務請求。 例如:

    var laSR = licenseSession.CreateLAServiceRequest();
    
  4. 使用從步驟 3 建立的服務要求來執行授權取得。 授權會儲存在播放工作階段中。

  5. 將播放工作階段繫結至媒體來源以進行播放。 例如:

    licenseSession.configureMediaProtectionManager( mediaProtectionManager );
    videoPlayer.msSetMediaProtectionManager( mediaProtectionManager );
    

查詢保護功能

從 Windows 10 版本 1703 開始,您可以查詢 HW DRM 功能,例如解碼轉碼器、解析度和輸出保護 (HDCP)。 查詢是使用 IsTypeSupported 方法來執行,此方法會採用字串,代表查詢支援的功能,以及指定查詢套用索引鍵系統的字串。 如需支援的字串值清單,請參閱 IsTypeSupported 的 API 參考頁面。 下面的程式碼範例說明了該方法的用法。

using namespace Windows::Media::Protection;

ProtectionCapabilities^ sr = ref new ProtectionCapabilities();

ProtectionCapabilityResult result = sr->IsTypeSupported(
L"video/mp4; codecs=\"avc1.640028\"; features=\"decode-bpp=10,decode-fps=29.97,decode-res-x=1920,decode-res-y=1080\"",
L"com.microsoft.playready");

switch (result)
{
    case ProtectionCapabilityResult::Probably:
    // Queue up UHD HW DRM video
    break;

    case ProtectionCapabilityResult::Maybe:
    // Check again after UI or poll for more info.
    break;

    case ProtectionCapabilityResult::NotSupported:
    // Do not queue up UHD HW DRM video.
    break;
}

新增安全停止

本節說明如何將安全停止新增至 UWP 應用程式。

安全停止為 PlayReady 裝置提供了一種方法,可以自信地針對媒體串流服務判斷,任何指定內容的媒體播放已停止。 此功能可確保您的媒體串流服務為指定帳戶的不同裝置上的使用限制提供準確的執行和報告。

傳送安全停止挑戰有兩個主要案例:

  • 當媒體簡報因為內容結束而停止,或使用者停止中間某個位置的媒體簡報時。
  • 當上一個工作階段意外結束時 (例如,因為系統或應用程式當機)。 應用程式必須在啟動時或關機查詢任何未完成的安全停止工作階段,並將挑戰與任何其他媒體播放分開傳送。

如需安全停止的範例實作,請參閱位於程式碼範例瀏覽器之 PlayReady 範例中的 securestop.cs 檔案。

在 Xbox One 上使用 PlayReady DRM

若要在 Xbox One 上的 UWP 應用程式中使用 PlayReady DRM,您必須先註冊您用來發佈應用程式的合作夥伴中心帳戶,授權才能使用 PlayReady。 您可以使用下列其中一種作法:

  • 讓您在 Microsoft 的聯絡人請求權限。
  • 將合作夥伴中心帳戶和公司名稱傳送至 pronxbox@microsoft.com,以申請授權。

收到授權之後,您必須將額外的 <DeviceCapability> 新增至應用程式資訊清單。 您必須手動新增,因為應用程式資訊清單設計工具目前沒有可用的設定。 請依照以下步驟進行設定:

  1. 在 Visual Studio 中開啟專案時,開啟方案總管,並以滑鼠右鍵按一下 Package.appxmanifest

  2. 選取 [使用...開啟],選擇 [XML (文字) 編輯器],然後按一下 [確定]

  3. <Capabilities> 標籤之間加入以下 <DeviceCapability>

    <DeviceCapability Name="6a7e5907-885c-4bcb-b40a-073c067bd3d5" />
    
  4. 儲存檔案。

最後,在 Xbox One 上使用 PlayReady 時,有最後一個考慮:在開發工具套件上,有 SL150 限制 (也就是說,無法播放 SL2000 或 SL3000 內容)。 零售裝置能夠以較高的安全性層級播放內容,但若要在開發工具套件上測試您的應用程式,您必須使用 SL150 內容。 您可以透過以下方式之一測試此內容:

  • 使用需要 SL150 授權的策劃測試內容。
  • 實作邏輯,以便只有某些經過驗證的測試帳戶才能取得某些內容的 SL150 授權。

使用對您公司和產品最有意義的方法。

另請參閱