diff options
author | Hritik Chouhan <hritikc3961@gmail.com> | 2022-09-01 23:40:02 +0200 |
---|---|---|
committer | Hritik Chouhan <hritikc3961@gmail.com> | 2022-09-10 19:40:25 +0200 |
commit | 1698dd7db75dadb4915e1b48f0f974b804a019f8 (patch) | |
tree | 22d1376bb92b753936b43f04aba9a65e773c3c64 /lib/playlistLoading.dart | |
parent | 85b78ad4577b65d0bfd398cf3723f83a5ee03dd9 (diff) |
Upload Flutter-MediaPlayer app for IVIlamprey_12.1.6lamprey/12.1.612.1.6
Flutter MediaPlayer app which play song directly from
MPD server connected via TCP socket.Functions included in mediaplayer
play/pause/next/previous/loop , progress bar for current song,playlist
from database , volume.
Removed Unused code.
Bug-AGL: SPEC-4549
Signed-off-by: Hritik Chouhan <hritikc3961@gmail.com>
Change-Id: Ie7cdf109bca266e48fd10cd9b3cc0178edf42a52
Diffstat (limited to 'lib/playlistLoading.dart')
-rw-r--r-- | lib/playlistLoading.dart | 109 |
1 files changed, 109 insertions, 0 deletions
diff --git a/lib/playlistLoading.dart b/lib/playlistLoading.dart new file mode 100644 index 0000000..e643323 --- /dev/null +++ b/lib/playlistLoading.dart @@ -0,0 +1,109 @@ +// SPDX-License-Identifier: Apache-2.0 + +import 'package:flutter/material.dart'; +import 'package:flutter/src/foundation/key.dart'; +import 'package:flutter/src/widgets/framework.dart'; +import 'package:musicplayer/musicPage.dart'; +import 'package:musicplayer/nomusic.dart'; + +import 'music_methods/controller.dart'; + +class PlaylistLoading extends StatelessWidget { + PlaylistLoading({Key? key}) : super(key: key); + + + + + @override + + MPDTalker mpdTalker = MPDTalker(); + List<Map<String, String>> playlist = []; + + + + String convertToMin(String str){ + String strforint = ''; + for(int i = 0; i<str.length;i++){ + if(str[i] == '.'){ + break; + } + strforint += str[i]; + } + int num = int.parse(strforint); + double min = num/60; + double sec = num%60; + String ans = min.toInt().toString()+'min ' + sec.toInt().toString()+'sec'; + return ans; + + } + + + Future mymethod() async{ + playlist = await mpdTalker.cmdListMap('playlistinfo'); + return playlist; + + } + Widget build(BuildContext context) { + return Scaffold( + body: FutureBuilder( + future: mymethod(), + builder: (BuildContext context, AsyncSnapshot<dynamic> snapshot) { + + if (snapshot.connectionState == ConnectionState.done) { + // If we got an error + if (snapshot.hasError) { + return Center( + child: Text( + '${snapshot.error} occurred', + style: TextStyle(fontSize: 18, color: Colors.black), + ), + ); + + // if we got our data + } else if (snapshot.hasData) { + // Extracting data from snapshot object + List<Map<String, String>> list = snapshot.data as dynamic; + + if(list.isNotEmpty){ + + mpdTalker.cmd('repeat 1'); + mpdTalker.cmd('single 0'); + mpdTalker.cmd('consume 0'); + mpdTalker.cmd('play'); + mpdTalker.cmd('pause 1'); + + + + + return MusicPageTest(list : list,); + + } + else{ + return const NoMusicFound(); + + } + + + + + + + + } else if(snapshot.data == null){ + return const NoMusicFound(); + + } + + } + return Center( + child: CircularProgressIndicator( + color: Colors.black, + ), + ); + + }, + ), + ); + + } +}
\ No newline at end of file |