Host.updateLicenseRequestInfo无法添加标头

时间:2016-05-17 18:24:10

标签: chromecast google-cast

您好我正在努力实现以下任何一项

1)通过代码'requestInfo.url = requestInfo.url +“#12345678”;'

为许可网址设置一个额外的令牌

OR

2)通过代码'requestInfo.headers = new String('token:12345678 \ r \ n');'

设置标题

但似乎没有任何效果。

更新接收器日志中的url后,我会在许可证URL的末尾看到“更新的requestInfo.url”和额外的“#12345678”。但是在许可证服务器上,我只获得了未经修改的URL(没有#12345678)。

与requestInfo.headers相同。当请求进入许可证服务器时,我没有看到我在接收器应用程序中设置的任何标题。

我也试过返回requestInfo;但有了这个,chromecast无法播放任何内容。所以我评论了返回声明。

非常感谢任何解决这个问题的方法。这是我的代码。

 var host = new cast.player.api.Host({
    'url': url,
    'mediaElement': this.mediaElement_
  });

  host.onManifestReady = function() {
   self.log_('prototype.loadVideo_::My onManifestReady');
    };


 host.updateLicenseRequestInfo = function(requestInfo){
        self.log_('prototype.loadVideo_::updateLicenseRequestInfo()');
        self.log_('requestInfo.url ' + requestInfo.url);
        self.log_('requestInfo.headers ' + requestInfo.headers);
        self.log_('requestInfo.protectionSystem ' + requestInfo.protectionSystem);
        self.log_('requestInfo.setResponse ' + requestInfo.setResponse);
        self.log_('requestInfo.skipRequest ' + requestInfo.skipRequest);
        self.log_('requestInfo.timeoutInterval ' + requestInfo.timeoutInterval);
        self.log_('requestInfo.withCredentials ' + requestInfo.withCredentials );
        requestInfo.url = requestInfo.url + "#12345678";
        //host.licenseUrl = requestInfo.url;
        //requestInfo.headers = new String('token:12345678\r\n');
        self.log_('Updated requestInfo.url ' + requestInfo.url);
        self.log_('Updated requestInfo.headers ' + requestInfo.headers);
        //return requestInfo;
}; 

this.player_ = new cast.player.api.Player(host);

1 个答案:

答案 0 :(得分:0)

updateLicenseRequestInfo - 使主机能够自定义用于从服务器获取媒体许可证的请求信息。应用程序应覆盖此方法以将标记添加到url,set headers或withCredentials标志。

以下是有关如何使用它的示例代码。

host.updateManifestRequestInfo = function(requestInfo) {
  if (!requestInfo.url) {
    requestInfo.url = this.url;
  }
  requestInfo.withCredentials = true;
};

host.updateLicenseRequestInfo = function(requestInfo) {
  requestInfo.withCredentials = true;
};

host.updateSegmentRequestInfo = function(requestInfo) {
  requestInfo.withCredentials = true;
};

您还可以访问此page以获取更多信息。