init method
void
init({
- AudioPlayer? audioPlayer,
Implementation
void init({AudioPlayer? audioPlayer}) {
if (audioPlayer != null) {
customPrint("datadatadatdadtadtdta::::::::::::");
playerController = audioPlayer;
} else {
playerController = AudioPlayer();
}
playerController?.setReleaseMode(ReleaseMode.stop);
durationStream = playerController?.onDurationChanged.listen((Duration? d) {
maxDuration.value = d?.inMilliseconds ?? 0;
});
positionChangeStream = playerController?.onPositionChanged.listen((
Duration p,
) async {
currentPos.value = p.inMilliseconds;
int sHours = Duration(milliseconds: currentPos.value).inHours;
int sMinutes = Duration(milliseconds: currentPos.value).inMinutes;
int sSeconds = Duration(milliseconds: currentPos.value).inSeconds;
int rHours = sHours;
int rMinutes = sMinutes - (sHours * 60);
int rSeconds = sSeconds - (sMinutes * 60 + sHours * 60 * 60);
currentPositionLabel.value =
"${(rHours <= 9) ? '0$rHours' : '$rHours'}:${(rMinutes <= 9) ? '0$rMinutes' : '$rMinutes'}:${(rSeconds <= 9) ? '0$rSeconds' : '$rSeconds'}";
});
playerStateChangeStream = playerController?.onPlayerStateChanged.listen((
event,
) async {
if (event == PlayerState.completed) {
await playerController?.pause();
isComplete.value = true;
isPlaying.value = false;
isPlayed.value = true;
currentPos.value = 0;
currentPositionLabel.value = "00:00:00";
}
});
}