Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/neo4j/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用Tizen AVPlay设置DRM许可证服务器身份验证的HTTP头_Javascript_Tizen_Drm_Tizen Web App_Tizen Tv - Fatal编程技术网

Javascript 使用Tizen AVPlay设置DRM许可证服务器身份验证的HTTP头

Javascript 使用Tizen AVPlay设置DRM许可证服务器身份验证的HTTP头,javascript,tizen,drm,tizen-web-app,tizen-tv,Javascript,Tizen,Drm,Tizen Web App,Tizen Tv,我正在使用AVPlay播放DRM内容。我需要为许可证URL设置HTTP头。我怎么做 webapis.avplay.setDrm('PLAYREADY', 'SetProperties', angular.toJson({ LicenseServer:entitlementData.LicenseURL, 'X-AxDRM-Message':entitlementData.DRMToken })); 我需要在HTTP头中设置X-AxDRM-Message,您可能已经知道,angu

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

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

我需要在HTTP头中设置X-AxDRM-Message,您可能已经知道,angular.toJson和JSON.stringify有一些显著的区别

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

您可以在源代码中尝试此格式

此外,本文档还包含一些关于HTTP头的讨论,虽然它是关于Apple tvOS的,但我想可能是您的使用


您需要做的是设置参数:

const drmParam = {
          DeleteLicenseAfterUse: true,
          LicenseServer: uri,
          X-AxDRM-Message: : entitlementData.DRMToken
        };
然后您需要确保是一个JSON对象,如下所示:

const params = JSON.stringify(drmParam);
获得对象后,您将能够按如下方式进行参数设置:

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

希望有帮助

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

let DrmParam = {};

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

webapis.avplay.setDrm("PLAYREADY", "SetProperties", JSON.stringify(DrmParam));
你可以自己试试:

        var drmParam = {
            DeleteLicenseAfterUse: true,
            LicenseServer: licenseServerURL,
            HttpHeader: "Authorization:" + authValue + "\nMY-Ticket:" + ticketValue
        };
        webapis.avplay.setDrm("PLAYREADY", "SetProperties", JSON.stringify(drmParam));

这似乎不起作用,CustomData是否表示HTTP头?CustomData==HTTP头?不能说。编辑答案。虽然此代码可以回答问题,但最好解释如何解决问题,并提供代码作为示例或参考。只有代码的答案可能会令人困惑,并且缺乏上下文。在三星开发者网站上,它推荐这样做。但目前尚不清楚如何使用它。而且我还发了两个标题,我不知道怎么写。是否有相关文件/经验?嗨,你找到答案了吗?
        var drmParam = {
            DeleteLicenseAfterUse: true,
            LicenseServer: licenseServerURL,
            HttpHeader: "Authorization:" + authValue + "\nMY-Ticket:" + ticketValue
        };
        webapis.avplay.setDrm("PLAYREADY", "SetProperties", JSON.stringify(drmParam));