didvan-app/lib/pages/home/widgets/player_controller_button.dart

35 lines
1.0 KiB
Dart

import 'dart:io';
import 'package:didvan/config/theme_data.dart';
import 'package:didvan/constants/app_icons.dart';
import 'package:didvan/services/media/media.dart';
import 'package:didvan/widgets/didvan/icon_button.dart';
import 'package:flutter/material.dart';
class AudioControllerButton extends StatelessWidget {
final String? audioUrl;
final File? audioFile;
const AudioControllerButton({Key? key, this.audioUrl, this.audioFile})
: super(key: key);
bool get _nowPlaying =>
MediaService.audioPlayerTag == audioUrl ||
audioFile != null && MediaService.audioPlayerTag == audioFile!.path;
@override
Widget build(BuildContext context) {
return DidvanIconButton(
icon: MediaService.audioPlayer.playing == true && _nowPlaying
? DidvanIcons.pause_circle_solid
: DidvanIcons.play_circle_solid,
color: Theme.of(context).colorScheme.focusedBorder,
onPressed: () {
MediaService.handleAudioPlayback(
audioSource: audioFile ?? audioUrl,
);
},
);
}
}