deezer 1.1.0 copy "deezer: ^1.1.0" to clipboard
deezer: ^1.1.0 copied to clipboard

A Dart package for downloading music from Deezer, equipped with robust functions and features.

Deezer Dart Package #

pub: deezer License: AGPL style: lint

A Dart package for easy music downloading from Deezer.

Overview #

The Deezer Dart package provides a convenient way to interact with the Deezer music streaming platform in Dart applications. With this package, developers can easily search for songs, retrieve track information, fetch favorite songs, and download music from Deezer.

Future #

  • Search functionality for songs
  • Expanded track information retrieval
  • Batch operations for fetching track information
  • Playlist support
  • Optimization for song downloading
  • Capability to retrieve favorite songs
  • Manage favorite songs (add and delete)
  • Stream songs

Prerequisites #

Before using this package, ensure you have the following:

  • Deezer Account: You don't need a Deezer subscription. Simply create a Deezer account.

  • arl Parameter: Obtain the arl parameter from your Deezer account's browser cookies. This parameter is necessary to authenticate your requests to the Deezer API.

    Note: The arl key will expire after approximately 3 months. Make sure to refresh it when needed to continue using the package seamlessly.

Installation #

To use this package

  1. With Dart:
    $ dart pub add deezer
    
  2. With Flutter:
    $ flutter pub add deezer
    
  3. With pubspec.yaml
    dependencies:
      deezer: ^version_number
    

    Run dart pub get or flutter pub get to install the package.

Usage #

  1. Import the Package: Import the deezer package in your Dart file:

    import 'package:deezer/deezer.dart';

  2. Obtain ARL Parameter: Obtain the arl parameter from your Deezer account's browser cookies. This parameter is required to authenticate your requests to the Deezer API.

  3. Create Deezer Instance: Use the obtained arl parameter to create a Deezer instance:

    String arl = "get it from your browser cookies";
    Deezer deezer = await Deezer.create(arl: arl);
    

    Album Functions #

    Function Description
    getAlbum Get album information
    getAlbumTracks Get album tracks

    Artist Functions #

    Function Description
    getArtist Get artist information
    getArtistTopTracks Get artist top tracks
    getArtistAlbums Get artist albums
    getArtistRelated Get related artists
    getArtistRadios Get artist radios
    getArtistPlaylists Get artist playlists

    Chart Functions #

    Function Description
    getChart Get chart
    getChartTopTracks Get chart top tracks
    getChartTopAlbums Get chart top albums
    getChartTopArtists Get chart top artists
    getChartTopPlaylists Get chart top playlists
    getChartTopPodcasts Get chart top podcasts

    Editor Functions #

    Function Description
    getEditorial Get editorial
    getEditorials Get editorials

    Genre Functions #

    Function Description
    getGenre Get genre details
    getGenres Get details list of genres
    getGenreArtists Get genre artists
    getGenreRadios Get genre radios

    Playlist Functions #

    Function Description
    getPlaylist Get playlist details
    getPlaylistTracks Get playlist tracks

    Radio Functions #

    Function Description
    getRadio Get radio details
    getRadioTracks Get radio tracks
    getRadioGenres Get radio genres
    getRadioTop Get top radios
    getRadioLists Get radio lists

    Search Functions #

    Function Description
    searchAlbums Search for albums
    searchArtists Search for artists
    searchPlaylists Search for playlists
    searchTracks Search for tracks
    searchUsers Search for users
    searchRadios Search for radios

    User Functions #

    Function Description
    getUser Get user details
    getUserAlbums Get user albums
    getUserArtists Get user artists
    getUserTracks Get user tracks
    getUserRadios Get user radios
    getUserChartTracks Get user chart tracks
    getUserChartAlbums Get user chart albums
    getUserChartArtists Get user chart artists
    getUserChartPlaylists Get user chart playlists
    getUserFlow Get user flow
    getUserFollowings Get user followings
    getUserFollowers Get user followers
    getUserPlaylists Get user playlists

    Track Functions #

    Function Description
    getTrack Get track details
    getTracks Get track details list

    Favorite Functions #

    Function Description
    favSongs Get favorite songs
    addFavSongs Add favorite songs
    removeFavSongs Remove favorite songs

    Download Functions #

    Function Description
    getSong Download a song
    streamSong Stream a song
  4. Download a Song: Use the getSong method to download a song:

    final song = await deezer.getSong("1439299952");
    

    Write the downloaded song to a file:

    if (song?.data != null) {
      File file = File("song.mp3");
        file.writeAsBytesSync(song.data!);
    }      
    
  5. Stream a Song: Use the streamSong method to stream a song:

    final stream = deezer.streamSong("1439299952");
    

    Write the streamed song to a file:

    File streamFile = File("stream_song.mp3");
    IOSink sink = streamFile.openWrite();
    await for (List<int> chunk in stream) {
        sink.add(chunk);
    }
    await sink.flush();
    await sink.close();
    

Ensure to replace ["1439299952"] with the actual list of song IDs you want

External Libraries #

Contributing #

Contributions are welcome! If you'd like to contribute to this package

See contributing.md for ways to get started.

Please adhere to this project's code of conduct.

1
likes
150
pub points
15%
popularity

Publisher

verified publishersirimath.net

A Dart package for downloading music from Deezer, equipped with robust functions and features.

Repository (GitHub)
View/report issues

Documentation

API reference

License

MIT (LICENSE)

Dependencies

blowfish, cookie_jar, crypto, dio, dio_cookie_manager, encrypt, pointycastle

More

Packages that depend on deezer