music is working on a android phone
parent
b38213a1a4
commit
6ed9c23901
|
@ -11,14 +11,15 @@ class IntervalTimerPage extends StatefulWidget {
|
||||||
}
|
}
|
||||||
|
|
||||||
class _IntervalTimerPageState extends State<IntervalTimerPage> {
|
class _IntervalTimerPageState extends State<IntervalTimerPage> {
|
||||||
final Duration _warmupDuration = const Duration(minutes: 5);
|
final Duration _warmupDuration = const Duration(seconds: 5);
|
||||||
final Duration _cooldownDuration = const Duration(minutes: 5);
|
final Duration _cooldownDuration = const Duration(seconds: 5);
|
||||||
final Duration _highIntensityDuration = const Duration(minutes: 4);
|
final Duration _highIntensityDuration = const Duration(seconds: 4);
|
||||||
final Duration _lowIntensityDuration = const Duration(minutes: 3);
|
final Duration _lowIntensityDuration = const Duration(seconds: 3);
|
||||||
late Duration _totalDuration = const Duration(minutes: 35);
|
late Duration _totalDuration = const Duration(minutes: 35);
|
||||||
AudioPlayer warmUpPlayer = AudioPlayer();
|
AudioPlayer warmUpPlayer = AudioPlayer();
|
||||||
AudioPlayer workoutPlayer = AudioPlayer();
|
AudioPlayer workoutPlayer = AudioPlayer();
|
||||||
AudioPlayer coolDownPlayer = AudioPlayer();
|
AudioPlayer coolDownPlayer = AudioPlayer();
|
||||||
|
final AudioCache _audioCache = AudioCache();
|
||||||
final int _numHighIntensityBlocks = 4;
|
final int _numHighIntensityBlocks = 4;
|
||||||
final int _numLowIntensityBlocks = 3;
|
final int _numLowIntensityBlocks = 3;
|
||||||
|
|
||||||
|
@ -49,7 +50,8 @@ class _IntervalTimerPageState extends State<IntervalTimerPage> {
|
||||||
},
|
},
|
||||||
);
|
);
|
||||||
_isPaused = false;
|
_isPaused = false;
|
||||||
await AudioPlayer().play(UrlSource('assets/go.mp3'));
|
Source source = AssetSource('go.mp3');
|
||||||
|
await AudioPlayer().play(source);
|
||||||
|
|
||||||
_timer = Timer.periodic(const Duration(seconds: 1), (_) => _tick());
|
_timer = Timer.periodic(const Duration(seconds: 1), (_) => _tick());
|
||||||
Future.delayed(const Duration(seconds: 1)).then((value) {
|
Future.delayed(const Duration(seconds: 1)).then((value) {
|
||||||
|
@ -80,20 +82,23 @@ class _IntervalTimerPageState extends State<IntervalTimerPage> {
|
||||||
}
|
}
|
||||||
|
|
||||||
Future<void> _playWarmUpMusic() async {
|
Future<void> _playWarmUpMusic() async {
|
||||||
|
Source source = AssetSource('warmUp.mp3');
|
||||||
await warmUpPlayer.setReleaseMode(ReleaseMode.loop);
|
await warmUpPlayer.setReleaseMode(ReleaseMode.loop);
|
||||||
await warmUpPlayer.play(UrlSource('assets/warmUp.mp3'));
|
await warmUpPlayer.play(source);
|
||||||
}
|
}
|
||||||
|
|
||||||
Future<void> _playWorkoutMusic() async {
|
Future<void> _playWorkoutMusic() async {
|
||||||
await warmUpPlayer.stop();
|
await warmUpPlayer.stop();
|
||||||
Future.delayed(const Duration(microseconds: 600)).then((value) async {
|
Future.delayed(const Duration(microseconds: 600)).then((value) async {
|
||||||
|
Source source = AssetSource('workout.mp3');
|
||||||
await workoutPlayer.setReleaseMode(ReleaseMode.loop);
|
await workoutPlayer.setReleaseMode(ReleaseMode.loop);
|
||||||
await workoutPlayer.play(UrlSource('assets/workout.mp3'));
|
await workoutPlayer.play(source);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
Future<void> _intervalChange() async {
|
Future<void> _intervalChange() async {
|
||||||
await AudioPlayer().play(UrlSource('assets/beep.mp3'));
|
Source source = AssetSource('beep.mp3');
|
||||||
|
await AudioPlayer().play(source);
|
||||||
}
|
}
|
||||||
|
|
||||||
void _tick() {
|
void _tick() {
|
||||||
|
@ -123,14 +128,16 @@ class _IntervalTimerPageState extends State<IntervalTimerPage> {
|
||||||
_currentDuration = _cooldownDuration;
|
_currentDuration = _cooldownDuration;
|
||||||
() async {
|
() async {
|
||||||
await workoutPlayer.stop();
|
await workoutPlayer.stop();
|
||||||
|
Source source = AssetSource('cool_down.mp3');
|
||||||
await coolDownPlayer.setReleaseMode(ReleaseMode.loop);
|
await coolDownPlayer.setReleaseMode(ReleaseMode.loop);
|
||||||
await coolDownPlayer.play(UrlSource('assets/cool_down.mp3'));
|
await coolDownPlayer.play(source);
|
||||||
}();
|
}();
|
||||||
} else {
|
} else {
|
||||||
() async {
|
() async {
|
||||||
Future.delayed(const Duration(microseconds: 900))
|
Future.delayed(const Duration(microseconds: 900))
|
||||||
.then((value) async {
|
.then((value) async {
|
||||||
await AudioPlayer().play(UrlSource('assets/finish.mp3'));
|
Source source = AssetSource('finish.mp3');
|
||||||
|
await AudioPlayer().play(source);
|
||||||
});
|
});
|
||||||
}();
|
}();
|
||||||
_resetTimer();
|
_resetTimer();
|
||||||
|
|
Loading…
Reference in New Issue