我试着在互联网上寻找解决方案,但我没有得到。我也尝试了一些方法,但仍然不起作用。我只使用了音频播放器的音频和颤动音频查询插件,并尝试使用音频服务插件来使其在后台运行和通知控件。我不知道如何实现List<SongInfo> to。<MediaItem>
用于音频查询的示例代码
List<SongInfo> songs = [];
void getTracks() async {
songs = await audioQuery.getSongs();
setState(() {
songs = songs;
});
}音频服务示例:
class AudioPlayer extends BackgroundAudioTask{
final FlutterAudioQuery audioQuery = FlutterAudioQuery();
//background audio player class
final _queue = <MediaItem>[];
}发布于 2021-03-12 15:21:48
List.map非常适合于将一种类型的列表转换为另一种类型的列表。
_queue.addAll(songs.map((song) => MediaItem(
id: song.id,
album: song.album,
title: song.title,
)));这通过获取歌曲的每个属性值并在构造媒体项时将其用作适当的参数值来将每首歌曲映射到媒体项中。map将对列表中的每首歌曲执行此操作,并生成一个可迭代的媒体项,您可以将其添加到_queue中(如上所述),或者使用.toList()将其转换为列表。
https://stackoverflow.com/questions/66579535
复制相似问题