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/loadingPage.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/loadingPage.dart')
-rw-r--r-- | lib/loadingPage.dart | 108 |
1 files changed, 108 insertions, 0 deletions
diff --git a/lib/loadingPage.dart b/lib/loadingPage.dart new file mode 100644 index 0000000..7d5c1af --- /dev/null +++ b/lib/loadingPage.dart @@ -0,0 +1,108 @@ +// SPDX-License-Identifier: Apache-2.0 + +import 'package:flutter/material.dart'; + +import 'package:flutter_riverpod/flutter_riverpod.dart'; + + +import 'package:musicplayer/music_methods/controller.dart'; +import 'package:musicplayer/nomusic.dart'; +import 'package:musicplayer/playlistLoading.dart'; +import 'package:musicplayer/socketProblem.dart'; + + +class loadingPage extends ConsumerStatefulWidget { + const loadingPage({Key? key}) : super(key: key); + + @override + _loadingPageState createState() => _loadingPageState(); +} + +class _loadingPageState extends ConsumerState<loadingPage> { + + @override + void initState() { + // TODO: implement initState + super.initState(); + } + + MPDTalker mpdTalker = MPDTalker(); + List<Map<String, String>> list = []; + + 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{ + list = await mpdTalker.cmdListMap('listall'); + return list; + + } + + @override + 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 const SocketProblem(); + + // if we got our data + } else if (snapshot.hasData) { + // Extracting data from snapshot object + List list = snapshot.data as dynamic; + + if(list.isNotEmpty){ + mpdTalker.cmdStr('clear'); + for(int i =0; i<list.length;i++){ + + String addsong = list[i]['file']; + + mpdTalker.cmdStr('add "$addsong"'); + + } + return PlaylistLoading(); + + } + else{ + return NoMusicFound(); + } + + } else if(snapshot.data == null){ + return NoMusicFound(); + + } + + } + return const Center( + child: CircularProgressIndicator( + color: Colors.black, + ), + ); + + }, + ), + ); + + + + } +}
\ No newline at end of file |