feat: add keyboard media controls

This commit is contained in:
poka 2023-04-16 03:30:01 +02:00
parent d7cb5885f7
commit 7f06a7b96e
1 changed files with 27 additions and 5 deletions

View File

@ -30,12 +30,34 @@ class _HomeScreenState extends State<HomeScreen> {
autofocus: true,
focusNode: FocusNode(),
onKey: (RawKeyEvent event) {
if (event.runtimeType == RawKeyDownEvent &&
event.data.logicalKey.keyId == 32) //Enter Key ID from keyboard
log.d(event.data.logicalKey.keyId);
if (event.runtimeType == RawKeyDownEvent) //Enter Key ID from keyboard
{
hp.player.state.name == 'playing'
? hp.player.pause()
: hp.player.resume();
switch (event.data.logicalKey.keyId) {
case 32:
case 112:
case 4294969861:
hp.player.state.name == 'playing'
? hp.player.pause()
: hp.player.resume();
break;
case 110:
case 94489280688:
if (hp.currentTrack != null &&
hp.currentTrack!.number < hp.trackList.last.number) {
hp.currentTrack = hp.trackList.firstWhere(
(element) => element.number == hp.currentTrack!.number + 1);
hp.playTrack(hp.currentTrack!);
}
break;
case 98:
case 94489280689:
if (hp.currentTrack != null && hp.currentTrack!.number > 1) {
hp.currentTrack = hp.trackList.firstWhere(
(element) => element.number == hp.currentTrack!.number - 1);
hp.playTrack(hp.currentTrack!);
}
}
}
},
child: Stack(