showNotification method
Future<void>
showNotification({
- required SimpleAudioPlayer player,
- required String title,
- required String artist,
- required String clipArt,
Implementation
Future<void> showNotification({required SimpleAudioPlayer player, required String title, required String artist, required String clipArt}) {
_notificationData = _NotificationData(player, title, artist, clipArt);
if (imageBase64Cache.containsKey(clipArt)) {
final base64Image = imageBase64Cache[clipArt] ?? "";
return SimpleAudioPlayerApi.showNotification(playerId: player.playerId, title: title, artist: artist, clipArt: base64Image);
}
// load image form network
final NetworkImage imageProvider = NetworkImage(clipArt);
final ImageStream stream = imageProvider.resolve(ImageConfiguration.empty);
stream.addListener(ImageStreamListener((ImageInfo info, bool synchronous) async {
final byteData = await info.image.toByteData(format: ImageByteFormat.png);
if (byteData != null) {
imageBase64Cache.clear();
imageBase64Cache[clipArt] = base64Encode(byteData.buffer.asUint8List());
// load image done
updateNotification();
}
}));
return SimpleAudioPlayerApi.showNotification(playerId: player.playerId, title: title, artist: artist, clipArt: "");
}