modified: lib/class/audiostate.dart

modified:   lib/episodes/episodedetail.dart
	modified:   lib/main.dart
This commit is contained in:
stonegate 2020-02-25 20:28:48 +08:00
parent dca31d1f6d
commit 6e7f7bd071
3 changed files with 28 additions and 13 deletions

View File

@ -97,6 +97,12 @@ class AudioPlayer extends ChangeNotifier {
AudioState get audioState => _audioState;
EpisodeBrief get episode => _episode;
@override
void addListener(VoidCallback listener) {
super.addListener(listener);
_queue.getPlaylist();
}
episodeLoad(EpisodeBrief episode) async {
AudioSystem.instance.addMediaEventListener(_mediaEventListener);
@ -409,8 +415,8 @@ class AudioPlayer extends ChangeNotifier {
}
void _stopBackgroundAudio() {
_backgroundAudio..pause();
_backgroundAudio..dispose();
_backgroundAudio?.pause();
_backgroundAudio?.dispose();
_backgroundAudioPlaying = false;
AudioSystem.instance.stopBackgroundDisplay();
}

View File

@ -275,7 +275,7 @@ class _MenuBarState extends State<MenuBar> {
Hero(
tag: widget.episodeItem.enclosureUrl + widget.heroTag,
child: Container(
padding: EdgeInsets.symmetric(horizontal:10.0),
padding: EdgeInsets.symmetric(horizontal: 10.0),
child: ClipRRect(
borderRadius: BorderRadius.all(Radius.circular(15.0)),
child: Container(
@ -314,13 +314,24 @@ class _MenuBarState extends State<MenuBar> {
],
),
DownloadButton(episodeBrief: widget.episodeItem),
_buttonOnMenu(Icon(Icons.playlist_add, color: Colors.grey[700]), () {
Fluttertoast.showToast(
msg: 'Added to playlist',
gravity: ToastGravity.BOTTOM,
);
audio.addToPlaylist(widget.episodeItem);
}),
Selector<AudioPlayer, List<String>>(
selector: (_, audio) => audio.queue.playlist.map((e)=>e.enclosureUrl).toList(),
builder: (_, data, __) {
print(data.length);
return data.contains(widget.episodeItem.enclosureUrl)
? _buttonOnMenu(
Icon(Icons.playlist_add_check, color: Theme.of(context).accentColor),
(){})
: _buttonOnMenu(
Icon(Icons.playlist_add, color: Colors.grey[700]), () {
Fluttertoast.showToast(
msg: 'Added to playlist',
gravity: ToastGravity.BOTTOM,
);
audio.addToPlaylist(widget.episodeItem);
});
},
),
Spacer(),
// Text(audio.audioState.toString()),
Selector<AudioPlayer, Tuple2<EpisodeBrief, bool>>(

View File

@ -31,9 +31,7 @@ class MyApp extends StatelessWidget {
var theme = Provider.of<SettingState>(context).theme;
print(theme);
return MaterialApp(
themeMode: theme == 0
? ThemeMode.system
: theme == 1 ? ThemeMode.light: ThemeMode.dark,
themeMode: ThemeMode.system,
debugShowCheckedModeBanner: false,
title: 'TsacDop',
theme: ThemeData(