Enjoy podcasts with Tsacdop! A podcast player built with flutter.

Overview

Tsacdop Banner

github action GitHub Release Github Downloads Localizely style: effective dart License badge fdroid install

About

Enjoy podcasts with Tsacdop.

Tsacdop is a podcast player developed with Flutter, a clean, simply beautiful and friendly app, which is also free and open source.

Credit to Flutter team and all involved plugins, especially webfeed , Just_Audio and Provider.

The podcast search engine is powered by ListenNotes & PodcastIndex.

Features

  • Podcast group management
  • Playlists support
  • Sleep timer / speed setting
  • OPML file export and import
  • Auto syncing in background
  • Listening and subscription history record
  • Dark mode / accent color
  • Download for offline play
  • Auto download new episodes / auto delete outdated downloads
  • Settings backup
  • Skip silence
  • Boost volume

More to come...

Preview

Home Page Group Podcast Episode Dark Mode

Localization

Please Email me you'd like to contribute to support more languages!

Credit to Localizely for kind support to open source projects.

English

Chinese Simplified

French

Spanish

Portuguese

License

Tsacdop is licensed under the GPL v3.0 license.

Build

  1. If you don't have Flutter SDK installed, please visit offcial Flutter site.
  2. Fetch latest sorce code from master branch.
git clone https://github.com/stonega/tsacdop.git
  1. Add api search api configure file.

Tsacdop uses ListenNotes API 1.0 pro to search for podcasts, which is not free, so I can not expose the API key in the repo. If you want to build the app, you need to create a new file named .env.dart in lib folder. Add the following code to .env.dart. If you don't have ListenNotes api key, just keep apiKey ''. Than the app will only support the PodcastIndex search. You can get your own ListenNotes API key on ListenNotes, remember that you need to get pro plan API, because basic plan dosen't provide rss link for serach result.

final environment = {"apiKey":""};
  1. Run the app with Android Studio or Visual Studio. Or the command line.
flutter pub get
flutter run

Contribute

If you have an issue or found a bug, please raise a GitHub issue. Pull requests are also welcome.

Archetecture

Plugins

  • Local storage
    • sqflite
    • shared_preferences
  • Audio
    • just_audio
    • audio_service
  • State management
    • provider
  • Download
    • flutter_downloader
  • Background task
    • workmanager

Directory Structure

UI
src
└──home
   ├──home.dart [Homepage]
   ├──searc_podcast.dart [Search Page]
   └──playlist.dart [Playlist Page]
└──podcasts
   ├──podcast_manage.dart [Group Page]
   └──podcast_detail.dart [Podcast Page]
└──episodes
   └──episode_detail.dart [Episode Page]
└──settings
   └──setting.dart [Setting Page]

STATE
src
└──state
   ├──audio_state.dart [Audio State]
   ├──download_state.dart [Episode Download]
   ├──podcast_group.dart [Podcast Groups]
   ├──refresh_podcast.dart [Episode Refresh]
   └──setting_state.dart [Setting]

Service
src
└──service
   ├──api_service.dart [Podcast Search]
   ├──gpodder_api.dart [Gpodder intergate]
   └──ompl_builde.dart [OMPL export]

Known Issue

  • Playlist is unstable

Contact

You can reach out to me directly at [email protected].

Or you can join our Telegram Group.

Getting Started with Flutter

This project is a starting point for a Flutter application.

Here are a few resources to get you started if this is your first Flutter project:

For help getting started with Flutter, view our online documentation, which offers tutorials, samples, guidance on mobile development, and a full API reference.

Comments
  • Individual skips

    Individual skips

    Having the possibility to skip x:xx at the start andOr end of the podcast for repeating intros and outros would be a nice feature. Skipping ads in between would obviously also be nice, but probably harder to implement and maybe not fair to the creators. :-D

    Running the e foundation build of Android 11.

    Thank you for your work!

    opened by Camgirl94XXX 0
  • Individual speed adjustment

    Individual speed adjustment

    It would be very helpful to be able to adjust and set the speed for different podcasts independently. Especially listening to different languages, but also just individual podcasters the differences can be quite high. More speed adjustments, especially x1.3 and x1.4, would also be nice, but not too important.

    Running the e foundation build of Android 11.

    Thank you for your work!

    opened by Camgirl94XXX 0
  • Windows app

    Windows app

    Please build this app for Windows.

    Additional context

    As of Flutter 2.10, Windows support is available on the stable channel. https://docs.flutter.dev/desktop https://medium.com/flutter/announcing-flutter-for-windows-6979d0d01fed

    opened by xmha97 0
  • Valid Feed marked as invalid

    Valid Feed marked as invalid

    Adding my private mirror of my podcasts fails with the message "Invalid RSS Link" even though it works perfectly fine with every other podcast player I tried.

    The link looks something like this: https://moritz.sh/files/podcasts/My%20Podcast/feed.rss (had to remove the name since it's the Patreon version and they'd probably not be too hyped with me just throwing the link around)

    bug 
    opened by mpldr 1
  • OPML file doesn't work with other podcast players

    OPML file doesn't work with other podcast players

    Hi, not sure what the issue is here. I exported a bunch of podcasts into an OPML file and tried importing into another app. Not sure if the file generated by tsacdop is a non-standard format or something, but none of the podcast apps were able to read it.

    I tried with Antenna-Pod, Escapepod, Sound Waves and Podverse apps.

    Can someone help me with this?

    opened by durgaswaroop 1
Releases(v0.6.0)
YoYo Video Player is a HLS(.m3u8) video player for flutter.

YoYo Video Player YoYo Video Player is a HLS(.m3u8) video player for flutter. The video_player is a video player that allows you to select HLS video s

Ko Htut 89 Dec 23, 2022
Flutter-Music-Player - A simple music player app that let you play mp3 songs with some customization feature with a rich user interface

Flutter-Music-Player - A simple music player app that let you play mp3 songs with some customization feature with a rich user interface

Ashirbad Swain 6 Jan 4, 2023
Minimalistic local music player built with flutter for android.

Nano Music Player Simple local music player built with flutter. It uses the audioplayer plugin to play files, and path_provider to locate the external

Jan Hrastnik 34 Dec 17, 2022
Audio player app in Flutter. Created as a tutorial for learning Flutter.

Music Player: create a simple Flutter music player app This is a Flutter project used during a series of articles on I should go to sleep. License Cop

Michele Volpato 11 May 5, 2022
Flutter radio player mod flutter 2.5

A Flutter plugin to play streaming audio content with background support and lock screen controls.

Ayotunde abdulsalam 1 Mar 14, 2022
Flutter plugin for sound. Audio recorder and player.

Flutter Sound user: your documentation is there The CHANGELOG file is here Overview Flutter Sound is a Flutter package allowing you to play and record

null 764 Jan 2, 2023
The video player for Flutter with a heart of gold

chewie The video player for Flutter with a heart of gold. The video_player plugin provides low-level access to video playback. Chewie uses the video_p

Brian Egan 1.6k Jan 7, 2023
BlackHole - A Music Player App made with Flutter

BlackHole - A Music Player App made with Flutter

Ankit Sangwan 4.2k Jan 2, 2023
Better video player for Flutter, with multiple configuration options. Solving typical use cases!

Better video player for Flutter, with multiple configuration options. Solving typical use cases!

Jakub 732 Jan 2, 2023
ZY Player TV app, developed with Flutter

ZY-Player-TV ZY Player TV app, developed with Flutter 1. 设置Flutter环境 1.1 按着https://flutter.dev/docs/get-started/install/windows 页面的指导,先安装好Flutter和Andr

null 165 Dec 23, 2022
Advanced video player based on video_player and Chewie for flutter

Better Player Advanced video player based on video_player and Chewie. It's solves many typical use cases and it's easy to run. Introduction This plugi

Ahmed Mahmoud 1 Dec 22, 2021
A Material designed music player developed in Flutter.

Flutter Music Player UI A Material designed music player developed in Flutter. Getting Started This project is a starting point for a Flutter applicat

Packiyanathan Mathulan 17 Jan 13, 2022
Flutter plugin for sound. Audio recorder and player.

Sounds Sounds is a Flutter package allowing you to play and record audio for both the android and ios platforms. Sounds provides both a high level API

Brett Sutton 75 Dec 8, 2022
Flutter music player application. (仿网易云音乐)

Flutter music player application. (仿网易云音乐)

Bin 3.1k Dec 30, 2022
A Flutter music player to play songs (mp3).

?? ?? Flutter Music A Flutter music player to play songs (mp3). Please star ⭐ the repo if you like what you see ?? . ?? Requirements Any Operating Sys

null 109 Dec 16, 2022
A simple music player made using Flutter.

Music Player App This is a beautiful music player, developed using Flutter. Features Play any song included in Flutter Assets Background Play Beautifu

Hash Studios 15 May 21, 2022
A flutter based music player for subsonic compatible music servers.

subsound A subsonic music player. Screenshots Release todo fix random breakage of player sometimes. seems like onStart is not working after background

Eivind Siqveland Larsen 26 Oct 6, 2022
A Music Player App made using Flutter.

A local music player app made using flutter. Getting Started This project is a starting point for a Flutter application. A few resources to get you st

Jobin Biju 13 Dec 22, 2022
A Sound Player App For Flutter

sound_player_app A Sound Player Flutter application.

null 3 Oct 7, 2022