Show duration left in icon (floating audio player)
This commit is contained in:
parent
ee8342350e
commit
ca7157af62
@ -27,6 +27,7 @@ class _AudioPlayerFloatingContainerState extends State<AudioPlayerFloatingContai
|
|||||||
bool audioplayed = false;
|
bool audioplayed = false;
|
||||||
int currentpos = 0;
|
int currentpos = 0;
|
||||||
int maxduration = 100;
|
int maxduration = 100;
|
||||||
|
Duration? durationAudio;
|
||||||
String currentpostlabel = "00:00";
|
String currentpostlabel = "00:00";
|
||||||
|
|
||||||
@override
|
@override
|
||||||
@ -34,11 +35,12 @@ class _AudioPlayerFloatingContainerState extends State<AudioPlayerFloatingContai
|
|||||||
Future.delayed(Duration.zero, () async {
|
Future.delayed(Duration.zero, () async {
|
||||||
|
|
||||||
audiobytes = widget.audioBytes;
|
audiobytes = widget.audioBytes;
|
||||||
/*player.onDurationChanged.listen((Duration d) { //get the duration of audio
|
player.durationStream.listen((Duration? d) { //get the duration of audio
|
||||||
maxduration = d.inSeconds;
|
maxduration = d!.inSeconds;
|
||||||
setState(() {
|
durationAudio = d;
|
||||||
});
|
print("YOULOUUU duration");
|
||||||
});*/
|
print(d);
|
||||||
|
});
|
||||||
|
|
||||||
//player.bufferedPositionStream
|
//player.bufferedPositionStream
|
||||||
|
|
||||||
@ -48,9 +50,9 @@ class _AudioPlayerFloatingContainerState extends State<AudioPlayerFloatingContai
|
|||||||
currentpos = event.inMilliseconds; //get the current position of playing audio
|
currentpos = event.inMilliseconds; //get the current position of playing audio
|
||||||
|
|
||||||
//generating the duration label
|
//generating the duration label
|
||||||
int shours = Duration(milliseconds:currentpos).inHours;
|
int shours = Duration(milliseconds:durationAudio!.inMilliseconds - currentpos).inHours;
|
||||||
int sminutes = Duration(milliseconds:currentpos).inMinutes;
|
int sminutes = Duration(milliseconds:durationAudio!.inMilliseconds - currentpos).inMinutes;
|
||||||
int sseconds = Duration(milliseconds:currentpos).inSeconds;
|
int sseconds = Duration(milliseconds:durationAudio!.inMilliseconds - currentpos).inSeconds;
|
||||||
|
|
||||||
int rminutes = sminutes - (shours * 60);
|
int rminutes = sminutes - (shours * 60);
|
||||||
int rseconds = sseconds - (sminutes * 60 + shours * 60 * 60);
|
int rseconds = sseconds - (sminutes * 60 + shours * 60 * 60);
|
||||||
@ -148,7 +150,19 @@ class _AudioPlayerFloatingContainerState extends State<AudioPlayerFloatingContai
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
child: isplaying ? const Icon(Icons.pause) : const Icon(Icons.play_arrow),
|
child: isplaying ? Column(
|
||||||
|
mainAxisAlignment: MainAxisAlignment.center,
|
||||||
|
children: [
|
||||||
|
const Icon(Icons.pause),
|
||||||
|
Text(currentpostlabel),
|
||||||
|
],
|
||||||
|
) : audioplayed ? Column(
|
||||||
|
mainAxisAlignment: MainAxisAlignment.center,
|
||||||
|
children: [
|
||||||
|
const Icon(Icons.play_arrow),
|
||||||
|
Text(currentpostlabel),
|
||||||
|
],
|
||||||
|
): const Icon(Icons.play_arrow),
|
||||||
|
|
||||||
/*Column(
|
/*Column(
|
||||||
children: [
|
children: [
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user