SongTube is a new beautiful and fast application made in flutter, it supports YouTube audio and video downloading at any quality, In-App YouTube Browser, audio conversion and an Audio tags editor.
- Video Download at any available Quality
- Download HDR and 60fps Videos
- Audio Download at best available Quality
- Audio Tags & Artwork Editor
- Audio Filters (Volume, Bass, Treble)
- Audio Conversion (AAC, OGG and MP3) (optional)
- Full Playlist Downloads (Only Audio)
- Set custom path for Audio/Video download
- Music Player built-in
- Video Player built-in
- In-App Youtube Browser
- Light/Dark/Black Themes
- Accent Color Picker
- UI Customizations
- Backup Options
You can get this application from the Official SongTube Channel on Telegram: https://t.me/songtubechannel You can also join SongTube Official Group from the Channel, any kind of issue report or recommendation is welcomed!
Other SongTube download sites:
- Drive: https://tinyurl.com/SongTubeDrive
- GitHub: https://tinyurl.com/STGithub
- AppGallery: https://tinyurl.com/STAppGallery
You can contribute on anything you want from new features fixes, etc... But most importantly if the app doesn't support your native Language you can contribute by implementing it! It's really easy:
1st Step: Create a new Language File by creating it under this project's internal/languages folder, the file needs to be named: "languageCode.dart" (Code is the LanguageCode of the Language you are implementing, for example: En or Es), you can then copy the contents of any other already supported Language and adapt/translate it to your new one (Remember to change the class name to "LanguageCode").
2nd Step: To finish your implementation, open this file: languages.dart
Inside that file you will find at the first code lines:
final _supportedLanguages = <LanguageData>[
// English (US)
LanguageData("🇺🇸", "English", 'en'),
// Spanish (VE)
LanguageData("ve", "Español", "es"),
];
Future<Languages> _loadLocale(Locale locale) async {
switch (locale.languageCode) {
// English (US)
case 'en':
return LanguageEn();
// Spanish (VE)
case 'es':
return LanguageEs();
// Default Language (English)
default:
return LanguageEn();
}
}
Where for your new Language you have to add a new LanguageData(flag, name, languageCode) into the _supportedLanguages list, then, a new switch case in _loadLocale() function with your languageCode and return your new language File, open a Pull Request and after checking I will merge it!.
If you don't feel like doing this last step, you can still send me your new Language File via PullRequest and I will do it.
Current list of Languages Supported:
- English
- Español
- Português (Thanks to @RickyM7)
- Igbo (Thanks to @enweazudaniel)
- Indonesian (Thanks to @breakdowns)
- Turkish (Thanks to Barış Kırmızı)