使用 PlayReady 开发应用程序

设备包括由 OEM 嵌入的 PlayReady 客户端

许多领先的 OEM 已获得 PlayReady 许可,并已将播放器(基于 PlayReady 移植工具包)集成到他们的设备中。 然后,他们将其作为 SDK 的一部分提供给应用程序开发人员。

嵌入在设备中的 PlayReady 客户端

例如,Microsoft确保所有 Windows 10 设备都包括集成在 Windows OS 本身中的 PlayReady 客户端,或设备 (TEE)的芯片固件中,并通过 UWP API 向应用程序开发人员公开它。 但许多 Android TV 设备制造商也这样做了。 这些设备使用各种 API 向应用程序公开 PlayReady 客户端,包括:

  • 电脑上的通用 Windows 平台 API、Xbox
  • Android 设备上的 Java DrmManagerClient API
  • Linux 设备上的各种接口
  • 新式 Web 浏览器上的 Javascript EME API
  • 旧嵌入式 Web 浏览器上的 CE-HTML HbbTV API

设备上的 PlayReady 客户端 API

在这些设备上,应用程序开发人员无需获得 PlayReady 的许可,也无需操作 PlayReady 代码或证书。 他们只需在平台上使用 OEM 提供的 SDK,并在他们的应用程序中运行 PlayReady 操作,例如 AcquireLicense(KID),等等。

使用此模型开发的应用程序不具有特许权。

下表显示了各种设备上的 PlayReady 客户端的当前可用性。

嵌入在设备中 在应用程序中
Windows 10 是的。 Windows SDK。 Microsoft Edge 中的 UWP 或 Web 应用
Windows 8、8.1 是,Windows SDK 可以使用第三方 SDK
Windows 7 是的,Silverlight 第三方 SDK 可以使用
MacOS Silverlight 和第三方 SDK
iOS 第一方和第三方 SDK
Apple TV OS 第三方 SDK
Chrome OS
Android Mobile 在某些型号上是这样的 第三方 SDK
Android TV 在所有模型上都为“是”
Linux 电视 大多数型号是的
在 PlayStations 和 Xbox 上是
网络接收器 对于大多数模型是的
Blu Ray 光盘播放器 大多数型号都是这样

设备包括 PlayReady 客户端

某些 OEM 已选择不在其设备中嵌入 PlayReady 客户端,或将其嵌入,但不能通过 SDK 向应用程序开发人员提供。

PlayReady 客户端未嵌入设备

在这些设备上,应用程序开发人员仍可以从其应用内部运行 PlayReady作,但需要在应用程序中集成 PlayReady 客户端,包括 PlayReady 代码和证书。

应用程序中 PlayReady 客户端的集成要求应用程序开发人员许可 PlayReady,并使用基于应用程序中 PlayReady 设备移植工具包的实现。 使用 PlayReady 源代码开发的公司必须持有 PlayReady 设备开发和中间产品分发许可证。

此开发需要具备强化应用程序的专业知识,包括 PlayReady 代码和 PlayReady 机密(密钥、证书)。 大多数应用程序开发人员决定使用 由Microsoft合作伙伴开发和维护的 PlayReady SDK)。

在 Windows、Xbox 上使用 PlayReady 开发应用程序

Microsoft在每个 Windows 10、8.1、8 单元和每个 Xbox 单元中开发和分发 PlayReady 客户端。 此 PlayReady 客户端可通过高级 API 向应用程序开发人员公开和自由访问。

应用程序开发人员可以在强制实施内容提供程序定义的访问规则的同时,创建能够向用户提供 PlayReady 内容的通用 Windows 平台(UWP)应用程序。 应用程序可以在 Windows 8、8.1 或 10 中自由使用此内置 PlayReady 客户端,而无需与Microsoft签署任何协议,也无需任何 PlayReady 证书或任何 PlayReady 费用或版税。

Windows 10 PlayReady 文档可以在 适用于 Windows 10 的 PlayReadyWindows.Media.Protection.PlayReady 命名空间 找到。 PlayReady Windows 10 应用程序的示例可以作为 UWP 示例集合 的一部分找到,在 PlayReady 示例适用于 Windows 10 的通用 Windows 应用(Javascript/C#/EME)中找到

若要详细了解如何设计在 Xbox 上运行的应用程序,请参阅 Xbox 上的 PlayReady DRM

还可以为 Windows 8.1 创建 PlayReady Windows 应用商店和 Web 应用程序。 可在 开发 PlayReady Windows 应用商店和 Web 应用中找到 Windows 8.1 PlayReady 文档。 可在 适用于 Windows 8.1 应用商店应用的 PlayReady 示例中找到 PlayReady Windows 8.1 应用程序的示例

在 Windows 7 上使用 PlayReady 开发应用程序

某些 PlayReady 合作伙伴提供 SDK,用于基于 Electron、Xamarin 或其他技术在 Windows 7 和 Mac OS 上运行 PlayReady。 有关详细信息,可以直接联系这些 PlayReady 合作伙伴

Silverlight 是在 Windows 7 和 Mac OS 上运行的已弃用的应用程序框架,其中包括功能齐全的 PlayReady 客户端。 它可以在浏览器中运行,但存在限制,也可以不依赖浏览器运行,从而在 Windows 7 和 macOS 上提供独立应用程序。

在 Android 上使用 PlayReady 开发应用程序

虽然许多 Android 设备模型嵌入由 OEM 集成的 PlayReady 客户端,但其他模型则不会。

开发一个包含嵌入式模型的应用程序,就像使用这些设备的 SDK 一样简单。 它们通常通过 Java DrmManagerClient公开 PlayReady 客户端。 有关详细信息,请参阅 适用于 Android 的 PlayReady 插件Microsoft规范

为不嵌入 PlayReady 客户端的模型开发应用程序需要将 PlayReady 客户端集成到应用程序本身中。

Microsoft合作伙伴从 PlayReady 移植工具包开发适用于 Android 的 PlayReady SDK,并使其可供应用程序开发人员使用。 如果你有一个项目在 Android 上使用 PlayReady 开发应用程序,则可以直接与列出的 Microsoft合作伙伴 联系以获取建议和报价。

在 iOS、AppleTV OS、MacOS 上使用 PlayReady 开发应用程序

Apple 产品未随嵌入式 PlayReady 客户端一起提供。 但是,可以分发在这些平台上运行并在应用程序本身中集成了 PlayReady 客户端的应用程序。

Microsoft合作伙伴还可以从 PlayReady 移植工具包为基于 Apple 的 OS 平台开发 PlayReady SDK,并将其提供给应用程序开发人员。 例如,如果你有一个项目使用 iOS 上的 PlayReady 开发应用程序,则可以直接与列出的 Microsoft合作伙伴 联系以获取建议和报价。

在 Web 浏览器中使用 PlayReady 开发应用程序

支持 HTML5 和 JavaScript 的新式 Web 浏览器中运行的 Web 应用将使用加密媒体扩展(EME)接口来执行 PlayReady 操作。