equalizer_flutter_custom 0.0.3 copy "equalizer_flutter_custom: ^0.0.3" to clipboard
equalizer_flutter_custom: ^0.0.3 copied to clipboard

A custom music player Equalizer with much many custom features.

example/lib/main.dart

import 'package:flutter/material.dart';
import 'package:flutter_audio_query/flutter_audio_query.dart';
import 'package:just_audio/just_audio.dart';
import 'package:equalizer_flutter_custom/src/CustomEqualizer.dart';
import 'package:provider/provider.dart';
import 'package:equalizer_flutter_custom/src/EqalizerProvider/EqualizerProvider.dart';

void main() {
  runApp(const MyApp());
}

class MyApp extends StatelessWidget {
  const MyApp({super.key});

  // This widget is the root of your application.
  @override
  Widget build(BuildContext context) {
    return ChangeNotifierProvider(
      create: (context) => EqualizerProvider(),
      child: MaterialApp(
        title: 'Demo Equalizer',
        debugShowCheckedModeBanner: false,
        theme: ThemeData(
          primarySwatch: Colors.blue,
        ),
        home: const MyHomePage(),
      ),
    );
  }
}

class MyHomePage extends StatefulWidget {
  const MyHomePage({super.key});

  @override
  State<MyHomePage> createState() => _MyHomePageState();
}

class _MyHomePageState extends State<MyHomePage> {
  late List<SongInfo> songs;

  late AudioPlayer audioPlayer;

  bool isLoading = true;
  getSOngs() async {
    FlutterAudioQuery audioQuery = FlutterAudioQuery();
    List<SongInfo> songsd = await audioQuery.getSongs();
    setState(() {
      songs = songsd;
      isLoading = false;
    });
  }

  @override
  void initState() {
    // TODO: implement initState
    audioPlayer = AudioPlayer();
    getSOngs();
  }

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: const Text("Equalizer"),
      ),
      // body:
      body: isLoading
          ? const CircularProgressIndicator()
          : ListView.builder(
              itemCount: songs.length,
              itemBuilder: (context, index) {
                return InkWell(
                  onTap: () {
                    audioPlayer.setUrl(songs[index].filePath);
                    audioPlayer.play();
                    Future.delayed(const Duration(milliseconds: 300))
                        .then((value) {
                      Navigator.push(
                          context,
                          MaterialPageRoute(
                            builder: (context) => CustomEqualizer(
                              isEqEnabled: true,
                              playerSessionId:
                                  audioPlayer.androidAudioSessionId!,
                              bandTextColor: Colors.green,
                              sliderBoxHeight: 220,
                              sliderBoxPadding: 10,
                              appbarElevation: 0,
                              appBarShadowColor: Colors.grey,
                              titleTextStyle:
                                  const TextStyle(color: Colors.red),
                              sliderBoxBorderRadius: BorderRadius.circular(20),
                            ),
                          ));
                    });
                  },
                  child: ListTile(
                    title: Text(songs[index].displayName),
                  ),
                );
              },
            ),
    );
  }
}
12
likes
140
points
51
downloads

Publisher

verified publisherranjitdas.com.np

Weekly Downloads

A custom music player Equalizer with much many custom features.

Repository (GitHub)

Documentation

API reference

License

MIT (license)

Dependencies

another_xlider, equalizer_flutter, flutter, provider, sleek_circular_slider

More

Packages that depend on equalizer_flutter_custom