Flutter Spotify - 如何根据种子获得推荐
Flutter Spotify - How to get recommendations based on seeds
使用 Flutter Package spotify-dart,我正在尝试根据用户播放列表中的歌曲获取曲目推荐。
到目前为止的代码:
// Function that returns a list of recommendation tracks
void getRecommendations() {
List<RecommendationsSeed> _seeds = List<RecommendationsSeed>();
Recommendations _recommendations = Recommendations();
Map<String, dynamic> _json;
_json = {
// I would like to use this song(Photograph - Ed Sheeran) as a seed
'id': 'spotify:track:6XLww4MprrLCvWpVXD9K7S',
'type': 'track'
};
_seeds.add(RecommendationsSeed.fromJson(_json));
_recommendations.seeds = _seeds;
List<TrackSimple> _tracks = _recommendations.tracks;
_tracks.forEach((element) {
print(element.name);
});
}
但是,_tracks
仍然为空,因此我收到一条错误消息 NoSuchMethodError: The method 'forEach' was called on null.
我想我添加种子的实现是错误的。从种子获得推荐的正确方法是什么?
以下是根据种子获得推荐的方法。
// Spotify object
var _spotify = SpotifyApi(_credentials);
void getRecommendations() async {
Recommendations _recommendations = await _spotify.recommendations.get(
seedTracks: ['5uaIbU3oHHcSOK6WFNK5nj'],
limit: 10,
);
List<TrackSimple> _tracks = _recommendations.tracks;
_tracks.forEach((element) {
debugPrint(element.name);
});
}
使用 Flutter Package spotify-dart,我正在尝试根据用户播放列表中的歌曲获取曲目推荐。
到目前为止的代码:
// Function that returns a list of recommendation tracks
void getRecommendations() {
List<RecommendationsSeed> _seeds = List<RecommendationsSeed>();
Recommendations _recommendations = Recommendations();
Map<String, dynamic> _json;
_json = {
// I would like to use this song(Photograph - Ed Sheeran) as a seed
'id': 'spotify:track:6XLww4MprrLCvWpVXD9K7S',
'type': 'track'
};
_seeds.add(RecommendationsSeed.fromJson(_json));
_recommendations.seeds = _seeds;
List<TrackSimple> _tracks = _recommendations.tracks;
_tracks.forEach((element) {
print(element.name);
});
}
但是,_tracks
仍然为空,因此我收到一条错误消息 NoSuchMethodError: The method 'forEach' was called on null.
我想我添加种子的实现是错误的。从种子获得推荐的正确方法是什么?
以下是根据种子获得推荐的方法。
// Spotify object
var _spotify = SpotifyApi(_credentials);
void getRecommendations() async {
Recommendations _recommendations = await _spotify.recommendations.get(
seedTracks: ['5uaIbU3oHHcSOK6WFNK5nj'],
limit: 10,
);
List<TrackSimple> _tracks = _recommendations.tracks;
_tracks.forEach((element) {
debugPrint(element.name);
});
}