您好我正在努力实现以下任何一项
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);
答案 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以获取更多信息。