我从您的问题中了解到的是您想要音频的当前播放位置并想要更新您的播放器栏。为此,您可以使用AssetAudioPlayer 的currentPosition 属性,它返回ValueStream。你可以listen 到currentPosition Stream 或在StreamBuilder 中使用它。
只需将listen 发送到currentPosition 流:
assetsAudioPlayer.currentPosition.listen((positionValue){
playerTimeNow = positionValue;
updatePlayerBar();
});
或者你也可以使用StreamBuilder:
return StreamBuilder(
stream: assetsAudioPlayer.currentPosition,
builder: (context, asyncSnapshot) {
final Duration duration = asyncSnapshot.data;
return Text(duration.toString());
}),
将要提供当前音频位置的Widget 包裹在StreamBuilder 中,并使用从asyncSnapshot.data 接收到的值。
对于自定义通知:
使用Audio 自定义通知:
final audio = Audio("/assets/audio/country.mp3",
metas: Metas(
title: "Country",
artist: "Florent Champigny",
album: "CountryAlbum",
image: MetasImage.asset("assets/images/country.jpg"), //can be MetasImage.network
),
);
并将其传递给assetsAudioPlayer.open(audio, showNotification: true);