Minimalistic audiobook player

Overview

Voice CI

Get it on F-Droid Get it on Google Play

This is my digital playground where I am learning. I'm integrating and validating new technologies and ideas here, playing around with new UI / UX components and developing with the best coding standard I come up with.

At the same time I want to provide an audiobook player which is really easy in use and a joy to work with. There are still some components outdated.

If you like to contribute or translate, that is very appreciated. But there might be impacting structural changes over time.

Contribution

Development

If you want to help check the label PR-Welcome. Its always a good idea to talk about what are going to do before you actually start it, so frustration can be avoided.

Some rules for coding:

  • Use the code style the project uses
  • For each feature, make a seperate branch, so it can be reviewed separately
  • Use commits with a good description, so everyone can see what you did

Translations

The project page is on transifex. There all the localizations are maintained. If you want to contribute, check if there are untranslated or wrong translated words.

Or you can start translating a new language if you speak it ;-)

License

Copyright (C) 2014 Paul Woitaschek

The license is GNU GPLv3. With contributing you agree to license your code under the same conditions.

Comments
  • Some mp3 files play too fast when no speed adjustments been made (speed=1)

    Some mp3 files play too fast when no speed adjustments been made (speed=1)

    I installed 1.5.3 version of application from google.play service on my android phone and tried to play some mp3 files with and without speed adjustments, for some of them everything works ok, but others play not correctly (much faster than it should be, like it is been forward winded) even if speed isn't touched (speed=1).

    I also checked wrong played tracks on other mediaplayer app and they were played at normal speed (correctly).

    Bug 
    opened by igormisha 75
  • Android Auto Support

    Android Auto Support

    There are NO audiobook players for Android Auto and it could be a wonderful niche to get in to early. I have no idea if the Auto program is open yet or still only if you're partnered with Google, but I think the first audiobook player out for it would get some huge notoriety.

    opened by ghost 64
  • [Mockup] Better home screen!

    [Mockup] Better home screen!

    Hey,

    I've been thinking about doing a concept to improve the home screen for a while and I have finally did it! The problems it tries to solve are:

    • Not being able to see which audiobooks you are listening to at a glance, without scrolling.
    • Completed books are still part of the list as well as books that you have on the device but don't want to start listening to yet.
    • No way to search through the cluttered list.
    • Inability to show or add the author's name, maybe to easily group albums together.

    The concept contains:

    • The books you're listening to always accessible at the very top.
    • The books you haven't started listening to and have completed are separate and tucked away.
    • Not everything is shown which makes the whole home cleaner. :)
    • Progress bars and UI icons take the album art's dominant color.
    • Search, baby!
    • Optional: percentage.
    • Added missing authors line.

    voice_new_home

    opened by 0rAX0 48
  • Re-design the book adding process

    Re-design the book adding process

    Right now the whole adding process is severely flawed.

    Issues

    Users...

    • get confused about what the two book adding modes mean
    • don't see the sd card selection in the top right
    • get confused about the file selection / confirm buttons

    Current Solution

    Currently there are two kind of folder structures we support:

    • In a Folder each folder is recognized as a book:
      • ./book1
      • ./book2
      • ./book3
    • A single book
      • ./book

    Improvements

    Another structure we should support is by author:

    • authorA/book1
    • authorA/book2
    • authorB/book1

    I think we need to re-think in a larger picture how we let users add folders. This should be combined with an onboarding flow. Right now the user is thrown into cold water and I assume that mostly users with a technical background understand how to add folders.

    I'm open for ideas! @0rAX0 cc

    opened by PaulWoitaschek 38
  • Unable to attach new cover

    Unable to attach new cover

    I have just download the new version 2.6.0.1 and have tried to use the cover picker. The cover was located via the picker but I cannot see how to actually attach the cover to the audio book?

    The options on the cover picker appear to be only

    View original image Search by image Send feedback Plus the X to close out and the home and refresh buttons

    Bug 
    opened by Josieb1 34
  • Add chapter marks

    Add chapter marks

    1. Find a way to read the chapter marks from the audiofiles. Need suggestions how to do this
    2. Replace chapter name with a HashMap of <String, Integer> (Title, StartTime).
    3. Fetch the chapter metadata in BookAdder.java and add them to the new chapters
    4. Show chapters instead of files in BookPlay
    5. Let MediaPlayerControllers previous / next functions redirect to a seekTo if there are chapters in the file.
    opened by PaulWoitaschek 25
  • No folders selectable

    No folders selectable

    In the recent version of the Player in combination with Android 6 on a Nexus 5; no folders are selectable. Permission for folder access is asked and granted...

    opened by DeckardCain2014 24
  • More intelligent file scanner

    More intelligent file scanner

    Write a more intelligent file scanner who is able to scan only once on startup. After that watch all directories recursively and update / add / remove the books accordingly.

    opened by PaulWoitaschek 24
  • Over-persistent playback notification

    Over-persistent playback notification

    The playback control notification in the status bar is a bit over-persistent. It often opens when I play something with another app and then won't go away. I'm using the F-Droid variant. It's he same on different Android systems (I tried both Android 7 and 11).

    opened by Taylor-eOS 22
  • Seeking and metadata extraction from matroska file

    Seeking and metadata extraction from matroska file

    I created a simple Matroska file with Opus stream: https://drive.google.com/file/d/0B8b4jUX2s15VTWRKbjk4bmRIX1E/view?usp=sharing

    The playback starts fine but seeking fails. After pausing, unpausing also restarts playback. The other problem is the app didn't extract both the title and the cover from the file.

    After re-encoding file from mka/opus to mka/aac using ffmpeg, problems didn't disappear so it looks like a problem with Matroska container support.

    App-Version: git master (c89b1adfc20121d7de4cd2d06346a395c1a05e64) Phone Name: Sony Z2, Nexus 5X API 26 x86 (Emulator) Android Version: 6.0.1, 8.0

    opened by p2004a 21
  • Material skips last 1 or 2 seconds of each file

    Material skips last 1 or 2 seconds of each file

    Hi,

    on my nexus5 Material player skipps the last 1 or 2 seconds of each file. This is now the second audio book where that happens. If i push the back button after that happens i get back to the last file and can here the skipped part. I'm using version 1.2.5.1 from f-droid. The books are all mp3s.

    Bug 
    opened by derpeter 20
  • all files in a audiobook labeled as

    all files in a audiobook labeled as "ch0"

    Overview

    When adding an audiobook folder which contains mp3 files with additional non-standard tags all the chapters/files in that audiobook are labeled "ch0" making it pretty difficult to see where you currently are at (file-/chapter-wise) or to find a specific chapter or point of time in there.

    I can't figure out if specific tags are the cause or too many tags or whatever. Here's 2 examples of what's working and what not... example of tags not working:

    Artist Name : Terry Pratchett
    Track Title : 006 - Der fünfte Elefant
    Album Title : Der fünfte Elefant
    Date : 2011
    Genre : Audiobook
    Composer : 
    Performer : 
    Album Artist : Terry Pratchett
    Track Number : 6
    Total Tracks : 129
    Disc Number : 1
    Total Discs : 1
    Comment : Im Auftrag des Patriziers reist Sam Mumm von der Stadtwache in das geheimnisvolle Land Überwald...
    <COPYRIGHT> : ©2000 Wilhelm Goldmann Verlag, München (P)2011 Random House Audio
    <ENCODING SETTINGS> : Lavf58.29.100
    <MUSICIAN CREDITS> : Author/Terry Pratchett
    <PUBLISHER> : Random House Audio, Deutschland
    

    example of tags working:

    Artist Name : Terry Pratchett
    Track Title : 0107 Das Erbe des Zauberers
    Album Title : Das Erbe des Zauberers
    Date : 2016
    Genre : Hörbuch
    Composer : 
    Performer : Katharina Thalbach
    Album Artist : 
    Track Number : 
    Total Tracks : 
    Disc Number : 
    Total Discs : 
    Comment : 
    <ENCODED BY> : iTunes 12.3.2.35
    

    (At first I suspected an additional .m3u file in the folder being the culprit but deleting that one and rescanning the files with complete app reset resulted in the same problem. So I'm pretty sure the tags are somehow at fault.)

    How to reproduce

    1. add folder with (several?) additional non-standard mp3 tags to Voice
    2. open audiobook
    3. see "ch0" in chapters list

    Version

    6.5.0 (F-Droid)

    Android Version

    10

    Device Model

    Xiaomi Redmi Note 9 Pro

    opened by Yavos 1
  • Issue with playback of larger (2GB) audiobooks.

    Issue with playback of larger (2GB) audiobooks.

    Overview

    I have several audiobooks around the 2GB file size mark. So far, all of the files which are larger than 2GB have an issue with playback somewhere after 20 hours of playback.

    The app goes silent, the time stamp is not updated anymore in the app (in the notification bar it is though) and scrubbing around a bit does not resume audio, except for scrolling back multiple hours.

    Here is the exif data of one such file:

    ExifTool Version Number         : 12.50
    File Size                       : 2.2 GB
    File Modification Date/Time     : 2022:05:24 19:23:20+02:00
    File Access Date/Time           : 2022:09:11 16:58:24+02:00
    File Inode Change Date/Time     : 2022:09:11 16:39:07+02:00
    File Permissions                : -rw-r--r--
    File Type                       : OPUS
    File Type Extension             : opus
    MIME Type                       : audio/ogg
    Opus Version                    : 1
    Audio Channels                  : 2
    Sample Rate                     : 48000
    Output Gain                     : 1
    Vendor                          : Lavf59.27.100
    Language                        : eng
    Encoder                         : Lavf59.27.100
    

    For the first file where this issue this occured somewhere between the 24th and the 25th hour of playback.

    I assumed there was some intereger overflow going on with a sampling rate of 48kHz, as it would match with the 24th/25th hour mark where this occured. But on another file this issue occured way earlier.

    Also all files below 2GB do not have this issue, even going beyond 30 hours. VLC has no issues with playback of any of these files.

    This issue is similar to Issue #1094 however, the audio is not encoded using mp3.

    How to reproduce

    1. Open the App
    2. Play a .opus file, larger than 2GB
    3. Skip to a timestamp beyond 25 hours
    4. Playback hangs, no recovery

    Version

    6.5.0

    Android Version

    Android 11

    Device Model

    Fairphone 4

    opened by zsln 0
  • UI inconsistency with Skip amount and Auto rewind

    UI inconsistency with Skip amount and Auto rewind

    Overview

    If you go to the preferences and change the skip amount (f.e. to 30 seconds) it doesn't change the '20s' to '30s' below the skip buttons in the player. (Maybe one could remove the '20s' below the button and just display the arrows.)

    Also if you go to the preferences and click on 'Auto rewind' the text 'Skip amount' is displayed above the slider instead of 'Auto rewind'.

    How to reproduce

    1. Open the App
    2. Click on the gear icon
    3. In preferences click on Skip amount
    4. Change the Skip amount
    5. Close Preferences
    6. Click on a book and look at the skip buttons Screenshot_20221230

    Version

    6.5.0

    Android Version

    12

    Device Model

    OnePlus 8t

    opened by ctntt 0
  • App reopens in backrgound

    App reopens in backrgound

    Overview

    The app reappears in the notification panel after I close it swiping it away from recent apps. If then I swipe it away from notification panel, it reappears again.

    How to reproduce

    1. Use the app.
    2. Close it (removing from recent apps)

    Version

    5.0.1

    Android Version

    Android 9

    Device Model

    HTC U11+

    opened by Artyom-K 2
  • Update dependency org.robolectric:robolectric to v4.9.2

    Update dependency org.robolectric:robolectric to v4.9.2

    Mend Renovate

    This PR contains the following updates:

    | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | org.robolectric:robolectric (source) | 4.9 -> 4.9.2 | age | adoption | passing | confidence |


    Configuration

    📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

    🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

    Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

    🔕 Ignore: Close this PR and you won't be reminded about this update again.


    • [ ] If you want to rebase/retry this PR, check this box

    This PR has been generated by Mend Renovate. View repository job log here.

    opened by renovate[bot] 0
  • Add sleep at end of chapter

    Add sleep at end of chapter

    Implements #1323

    I'm not familiar with Kotlin and the android media player, so I'm not sure if this is a good way to implement it (periodically check similar to normal sleep timer). Seems a bit hacky to me.

    Also, the UI could be improved, but I don't have a better idea right now.

    voice voice2

    Let me know what you think

    opened by tomaThomas 0
Releases(6.4.1)
Owner
Paul Woitaschek
Paul Woitaschek
NewsApp - Modern Minimalistic Design, MVVM, Pagination, Retrofit, Coroutines, Room, Glide, Navigation Component (Clean Architecture)

NewsApp is a modern news android application which features virtually ALL recent and recommended android development tech stack and tools used

Osama Sayed 4 Dec 6, 2021
A minimalistic Face Recognition module which can be easily incorporated in any Android project.

Real Time Face Recognition with TfLite A minimalistic Face Recognition module which can be easily incorporated in any Android project. Key Features Fa

Abhinav Sharma 2 Jun 21, 2022
A simple and minimalistic weather forecasting android app.

Ohayō is a minimalistic weather forecast application developed using Kotlin language Screenshoots Technologies Used Jetpack navigation MVVM Arch

Christopher Nanju 1 May 6, 2022
Dice 🎲 is a simple, intuitive, minimalistic and ad-free dice-roll application

Dice ?? Dice ?? is a simple, intuitive, minimalistic and ad-free dice-roll application ?? with which you can play your favourite board games, built to

Shreyansh Saurabh 5 Nov 15, 2022
A minimalistic Android application Built with Clean architecture and Jetpack component

MovieMania A minimalistic Android application Built with Clean architecture and Jetpack component (Jetpack Compose, MVVM , Paging 3.0, HILT, ROOM DB,

Farhan Tanvir 196 Jan 1, 2023
A minimalistic Android application Built with MVVM

A minimalistic Android application Built with MVVM (Retrofit , DataBinding , Coroutine , Mockwebserver , Truth and many more ...)

Farhan Tanvir 7 Sep 12, 2022
A Music Player for android that renders beautiful DNA(Visualization) of the currently playing music.

MusicDNA - A Music Player like no other A Music Player for android that makes use of the Visualizer Class for rendering a beautiful DNA (Visualization

Harjot Singh Oberai 2.8k Jan 5, 2023
DMPLayer is an Android music player prototype

DMPlayer DMPLayer is an Android music player prototype #License Copyright 2015 [email protected] Dibakar Mistry Licensed under the Apache License,

Dibakar Mistry 655 Nov 14, 2022
Vanilla Music Player for Android (abandoned). Visit https://github.com/vanilla-music/vanilla for an actively developed fork

Translating You can help translate here. If your language isn't on the list, open an issue and I can add it. Building To build you will need: A Java c

Chris Eby 154 Dec 9, 2022
A Free, Fully Fledged, Open-Source Music Player for Android

Turtle Player Free, Fully Fledged & Open-Source. The Music Player for Android. Turtle Player is designed to be a fun and unique app for playing your m

Edd Turtle 178 Nov 18, 2022
A Discord audio player that streams audio from the desktop.

Synced A Discord audio player that streams audio from the desktop. Synced runs as a bot that plays audio to your selected Discord server. You can cont

Leo Denault 3 Oct 23, 2022
xCloud player for Google Chromecast with Google TV

XCTV Player An awesome Microsoft xCloud player for Google Chromecast with Google

Keith Baker 41 Dec 27, 2022
Xctvplayer - xCloud player for Google Chromecast with Google TV

XCTV Player An awesome Microsoft xCloud player for Google Chromecast with Google

Keith Baker 41 Dec 27, 2022
Whitelist Player on Minecraft Server via Twitch Channel Points ✅

TwitchWhitelist This is a customisable 1.8-1.19 Spigot Plugin to Whitelist Players via Twitch Channel Points Rewards. Setup Setup a PaperMC (recommend

Jakob 3 Oct 17, 2022
Minimalistic audiobook player

Voice This is my digital playground where I am learning. I'm integrating and validating new technologies and ideas here, playing around with new UI /

Paul Woitaschek 1.8k Jan 3, 2023
Lightweight, minimalistic dependency injection library for Kotlin & Android

‼️ This project is in maintenance mode and not actively developed anymore. For more information read this statement. ‼️ Katana Katana is a lightweight

REWE Digital GmbH 179 Nov 27, 2022
This application features - Modern Minimalistic Design, MVVM, Pagination, Hilt, Retrofit, Room, Data Store, Flow, Live Data, Navigation Component (Clean Architecture)

NewsFly NewsFly is a modern news android application which features virtually ALL recent and recommended android development tech stack and tools used

Ibrahim 121 Nov 4, 2022
NewsApp - Modern Minimalistic Design, MVVM, Pagination, Retrofit, Coroutines, Room, Glide, Navigation Component (Clean Architecture)

NewsApp is a modern news android application which features virtually ALL recent and recommended android development tech stack and tools used

Osama Sayed 4 Dec 6, 2021
A minimalistic Face Recognition module which can be easily incorporated in any Android project.

Real Time Face Recognition with TfLite A minimalistic Face Recognition module which can be easily incorporated in any Android project. Key Features Fa

Abhinav Sharma 2 Jun 21, 2022