0

我正在使用 AVPlay 播放 DRM 内容。我需要为许可证 URL 设置 HTTP 标头。我该怎么做?

webapis.avplay.setDrm('PLAYREADY', 'SetProperties', angular.toJson({
    LicenseServer:entitlementData.LicenseURL,
    'X-AxDRM-Message':entitlementData.DRMToken
}));

我需要X-AxDRM-Message在 HTTP 标头中设置

4

4 回答 4

1

我弄清楚如何将多个 Http 标头发送到 DRM 许可证服务器。如果要发送多个 http 标头,必须用 \n 键分隔它们。

你可以自己试试:

        var drmParam = {
            DeleteLicenseAfterUse: true,
            LicenseServer: licenseServerURL,
            HttpHeader: "Authorization:" + authValue + "\nMY-Ticket:" + ticketValue
        };
        webapis.avplay.setDrm("PLAYREADY", "SetProperties", JSON.stringify(drmParam));
于 2018-11-14T11:02:50.387 回答
0

您需要做的是设置参数:

const drmParam = {
          DeleteLicenseAfterUse: true,
          LicenseServer: uri,
          X-AxDRM-Message: : entitlementData.DRMToken
        };

然后您需要确保是这样的 JSON 对象:

const params = JSON.stringify(drmParam);

拥有对象后,您将能够按如下方式进行参数设置:

webapis.avplay.setDrm('PLAYREADY', 'SetProperties', params);

希望有帮助!

于 2017-08-09T19:03:47.077 回答
0
let DrmParam = {};

DrmParam.LicenseServer = entitlementData.LicenseURL;
DrmParam.HttpHeader = "X-AxDRM-Message:" + entitlementData.DRMToken;

webapis.avplay.setDrm("PLAYREADY", "SetProperties", JSON.stringify(DrmParam));
于 2018-09-20T20:32:52.920 回答
0

您可能已经知道,angular.toJson() 和 JSON.stringify() 有一些显着差异。

toJSON() 和 JSON.Stringify() 之间的区别

通过查看此 API 参考上的代码示例,似乎应该使用 JSON.stringify()。

http://developer.samsung.com/tv/develop/api-references/samsung-product-api-references/avplay-api

var drmParam = new Object();
drmParam.LicenseServer = "http://license.company.com";
drmParam.CustomData = "mycustom";
playerObj.setDrm("PLAYREADY", "SetProperties", JSON.stringify(drmParam));

您可以在源代码上尝试这种格式。

此外,本文档包含一些关于 HTTP 标头的讨论,虽然它是关于 Apple tvOS 但我猜你可能会用到。

发送和接收 AVPlayer HTTP 标头

于 2017-07-27T06:49:45.547 回答