我以前使用的是just_audio,我正在像这样使用当前时间
player.positionStream.listen((event) {
playerTimeNow = event;
updatePlayerBar();
});
现在我需要知道如何在这个assets_audio_player中获得时间
我以前使用的是just_audio,我正在像这样使用当前时间
player.positionStream.listen((event) {
playerTimeNow = event;
updatePlayerBar();
});
现在我需要知道如何在这个assets_audio_player中获得时间
我从您的问题中了解到的是您想要音频的当前播放位置并想要更新您的播放器栏。为此,您可以使用返回currentPosition
的属性。Yon 可以在中使用或使用它。AssetAudioPlayer
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);
它有一个关于如何组合这两个包的例子。