尝试使用Spotify Android SDK获取歌曲元数据会导致非法参数异常

尝试使用Spotify Android SDK获取歌曲元数据会导致非法参数异常,android,spotify,libspotify,Android,Spotify,Libspotify,我正在尝试使用Spotify Android SDK获取歌曲元数据,而无需缓冲歌曲。这是我的密码: public String getTitleFromURI(String uri) { //uri = "spotify:track:6ORqU0bHbVCRjXm9AjyHyZ" MediaMetadataRetriever retriever = new MediaMetadataRetriever(); Uri temp = Uri.parse(uri);

我正在尝试使用Spotify Android SDK获取歌曲元数据,而无需缓冲歌曲。这是我的密码:

public String getTitleFromURI(String uri) {

    //uri = "spotify:track:6ORqU0bHbVCRjXm9AjyHyZ"

    MediaMetadataRetriever retriever = new MediaMetadataRetriever();

    Uri temp = Uri.parse(uri);

    System.out.println("URI: " + temp + "\n");

    retriever.setDataSource(uri); // java.lang.IllegalArgumentException

    return retriever.extractMetadata(MediaMetadataRetriever.METADATA_KEY_TITLE);

}
我不确定我为什么会收到非法参数异常

最后使用了这个:

谢谢你的帮助

最后使用了这个:


谢谢你的帮助

retriever.setDataSource(…)
没有接受Uri对象的实现。查看它可以采用的接口(字符串路径),如我的示例中所示,或者(上下文,Uri)。我在任何方法上都不走运(说得好!这是删除死代码的一个很好的理由。堆栈跟踪在哪里?这还需要一个文件路径名“设置要使用的数据源(文件路径名)。在此类中的其他方法之前调用此方法。此方法可能很耗时。”不是spotify类型的uri。android.media.MediaMetadataRetriever.setDataSource(MediaMetadataRetriever.java:188)上的?java.lang.IllegalArgumentException在
retriever.setDataSource(…)
中没有接收uri对象的实现。请参阅它可以采用的接口(字符串路径),如我的示例所示,或者(上下文上下文,Uri)。我对任何方法都不感兴趣。:(好的一点!删除死代码的一个很好的理由。堆栈跟踪在哪里?这也需要文件路径名“设置要使用的数据源(文件路径名)。在此类中的其余方法之前调用此方法。此方法可能很耗时。”不是spotify类型的uri。这是android.media.MediaMetadataRetriever.setDataSource(MediaMetadataRetriever.java:188)上的?java.lang.IllegalArgumentException
public String getTitleFromURI(String uri) {
    return spotifyService.getTrack(uri.split(":")[2]).name;
}