0

目前,在我的 AppDelegate 中,我为 GNConfig 声明了一个实例变量,该变量设置了我想要接收的所有属性。

任何发出 Gracenote 请求的类都会使用此 GNconfig 实例。

我正在使用的请求是来自音频流的识别、本地文件识别和填充数组的文本搜索。然后该数组用于按 id 对相应数组项进行跟踪查找。

我能够获得我需要的所有内容,除了曲目和专辑链接数据(总是返回 null)。

我尝试了很多不同的建议和指南,但都没有成功。

有人可以帮我吗?这些数据对我的应用程序至关重要,我的应用程序几乎是完整的,除了这个大障碍。

提前致谢。

** 编辑 **

这是在我的 appDelegate 中:

_gnConfig = [GNConfig init:@"XXXXXXX-XXXXXXXXXXXXXXXXXXXXXXX"];
[_gnConfig setProperty:@"content.coverArt" value:@"1"];
[_gnConfig setProperty:@"content.coverArt.sizePreference" value:@"LARGE"];
[_gnConfig setProperty:@"content.allowFullResponse" value:@"1"];

我在我的一个类方法中有这个:

NSURL *filePath = [item valueForProperty:MPMediaItemPropertyAssetURL];
[GNOperations recognizeMIDFileFromFile:self config:[[AppDelegate sharedDelegate] gnConfig] fileUrl:filePath];

在委托方法中,我有:

gracenoteResponseItem = [result bestResponse];
NSLog("%@", [gracenoteResponseItem trackLinkData]);
4

2 回答 2

1

某些轨道可能没有可用的链接数据。此外,如果您正在进行本地查找,则必须设置此配置选项:

[publicProperties setObject:@“1"forKey:@"content.allowfullresponse"];

于 2014-01-22T19:23:16.397 回答
1

除非您明确让您的客户端 ID 有权使用链接 ID(也称为“外部”或“第 3 方”ID),否则您不会在回复中得到任何信息。

默认情况下,Gracenote Open Developer 客户端 ID 无权使用任何外部 ID。您需要与 Gracenote 协调以授权您的客户 ID 开始接收所需的 ID。

于 2014-02-26T19:45:56.353 回答