Giter Club home page Giter Club logo

audioserve-android's People

Contributors

froghut avatar izderadicka avatar zachmyers avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

audioserve-android's Issues

Migrate CI from Travis to Github Actions

With policy changes Travis now sucks. I've already move CI scripts for server to GH Actions.
Also should move Android CI scripts.
If anybody has experience with Android build on GH help is more then welcomed

Dark mode

Hi,

any chance I might interest you in implementing a dark mode? I usually use it in bed on my amoled screen and the white background is way too bright for me.

Thanks for the app!

SSLHandshakeException

I got audioserve running behind a reverse proxy and can use the web client without any problems. Judging after the browser, the certificate chain (it's a LetsEncrypt certificate) seems to be intact.
In the Android app on my mobile device (Huawei T5 tablet) I entered URL and credentials. But when I do "Test Connection" I only get a brief popup "Connection error: Network".

adb logcat ApiClient:D *:S says:

11-25 10:43:50.353  4006  4006 D ApiClient: Client base URL is https://rsg.changeip.net/audioserve/
11-25 10:43:50.398  4006  4006 E ApiClient: Login error: com.android.volley.NoConnectionError: javax.net.ssl.SSLHandshakeException: java.security.cert.CertPathValidatorException: Trust anchor for certification path not found.

Surely I can provide more logs if this is necessary.

I have already installed the "Let’s Encrypt Authority X3", but this didn't help.
Thanks very much for your help.

Add support for Basic Authentication

I Run audioserve with the --no-authentication behind a reverse proxy that handles Basic Authentication. This lets me easily use the web interface in most places.

However, the Android application only accepts URL+Secret for connection. I attempted using https://username:password@audioserveURL along with an empty secret, but it didn't work.

Happy to share credentials over email if required.

Can't get remote position: timeout

Exciting project, am trying to make it work a few hours already. Now I am close. Only thing I have trouble is syncing of playing position. I set group and secret, but cannot get android and laptop using the webinterface to sync. Android app says: Can't get remote position: timeout

I run it like this:

docker run -d --name audioserve -p 3000:3000 -e AUDIOSERVE_SHARED_SECRET=12345 -v /home/myusername/audiobooks:/audiobooks izderadicka/audioserve /audiobooks

Thanks!

Android app playback position not saved

Using the android app I'm able to get the position from the web client.
But when I use the web client after using the android app I'm not able to get the last position.
In the server log I get entries like the following when using the android app:
[2020-05-24T07:17:43Z ERROR audioserve::services::position] Position message error: Position is not a number
[2020-05-24T07:17:45Z ERROR audioserve::services::position] Position message error: Position is not a number

I'm using the static build from release v0.12.1.1 as server.
Android app version v. 0.8.4

Very hard to enter server name

Currently when entering the server name in the config, if the entry isn't precisely the form the application expects the app will reject the entry, display a toast message, and not save the change. This means the user has to retype the server name from scratch over and over until they figure out what form was expected.

It would be pleasant to have the server name saved even if it's not in the expected form, so that the user can just go in and correct the unexpected form.

(In my case, I've never typed in the trailing /, because I use a subdomain. Fixing that was enough, and I'm up and running.)

Navigation issue, going Back

Hi there,

Just noticed a navigation issue. Can be recreated as follows:

  1. Select "Browse Collections"
  2. Select a collection
  3. Select an audiobook
  4. Press the <- back arrow up top left of the screen
  5. Am now back at the "Select Online Collection" screen, and not the list of audiobooks as expected.
    Pressing the Android OS back button works as expected, in the same situation.

Obviously only a minor issue.

Regards,

Mike

Feature Request: Cover View

It would be nice to have the option to display the cover images if there is one present in the directory instead of the directory name. Cheers!

Android Auto Support

I started working on making the app work with android auto. For the most part there is a simple configuration change that makes it available as an app, but when it's opened on Android Auto there are no MediaItems found. Currently playing items will show up and you can navigate the current queue, but you can't navigate to any books. I think this has to do with the way the folders are built out. I'm not super familiar with Android development so it's a bit new to me. Do you have any plans to support Android Auto?

Feature request: multiple server support

I'd love to have support for multiple servers - I am in the process of migrating from booksonic, currently I have my main server on my home network, but also a 'travel' server that runs on an RPi in my car, for long trips when I may have no data connection

(For information - newer versions of booksonic/airsonic startup extremely slowly on arm, which is why I want to move to audioserve, which starts up instantly!)

Google suggests that for now it should me possible to clone the audioserve apk and modify the app name so I can install it twice, so will give that a go.

Variable bitrate and position seeker

Looks like position seeker goes wild in case of variable bitrate encoded audio files.
Example: pause close to end of such file will cause play to jump way back

Not sure how current position is storred, probably as time, may be should be byte offset.

Readme Information

Not sure if this is the right place to put this but I don't think this info in the Readme is correct:

"Too big files (like m4b file containing whole audiobook) will be hard to navigate (as internal chapters are not supported), slow to transcode, plus there is hard limit of 250MB per file (for security reasons)."

M4b's seem to work fine, including files with internal chapters, and I've tested files over 400MB without problem. I'm not complaining, as many of my books are in this format, but I'm wondering why the Readme says this.

App crashes on startup on Fairphone 4

The app briefly opens (I see "recently listened" for a blink of an eye) and then crashes.
This might be a CPU architecture issue: I think the FP4 is aarch64.

Everything worked perfectly on my previous phone and on my wife's.
I would appreciate any help or information :)

Timeout for HTTP is too short

Especially for loading folders, where (due to metadata scanning) it can take a while. Right now it looks like request is timeouted if response is not started in 10 secs. Should extend to 60 secs or so.
Can timeout be especially extended for folders listing only?

No player available/connection issues

Hello,

When I try and connect to the server it shows "Connection error:Server" in the toast message at the bottom, but I can still see all of the files in my library. When I try and play a book, I get an error saying "Player not ready - probably not connected to server"

Here is a link to the screenshots:

http://imgur.com/a/NwlF5WU

Everything works from a browser with audioserve, only having connection issues in the app.

feature request: google cast support?

I'm not sure it is possible with a truly open source package, but google cast support would be great. It would be great if I could easily cast the audio my google home(s). Currently my work around is to 'mirror' the audio with the speaker, but true cast would also require server support.

Feature Request: Mark as played

Thank you so much for the audioserve server / android client. I've been using them to listen to audio books and podcasts. Because podcasts are often published regularly I often can't remember which episodes I have previously listened to. It would be nice to have to have the option to mark files as played.

Consider adding to F-Droid

F-Droid is an open source android app repository. I checked there first hoping I could use it to install the app and get easy updates but unfortunately it's not on there yet. Would love to see that happen. Thanks.

"Connection error: Server" when testing connection on audioserve-android

Hi, i deployed the audioserve server on my local LAN, and it works well via browser except audioserve-android client. Here is the details of information i collected.

Screenshot of "Connection error: Server" raised by audioserve-android on clicking "Test Connection" :
2024-02-08_10-19-37

Screenshot of "Empty folder" raised by audioserve-android on tapping back from Settings :
2024-02-08_10-20-41

Screenshot of collections on tapping Browse Collections in audioserve-android:
It seems like that the audioserve-android had fetched collections information successfully already.
2024-02-08_10-21-24

Screenshot of Firefox on android:
2024-02-08_10-20-16

audioserve deployment info:

mkdir -p audioserve
mkdir -p /data/audio_dir_1
mkdir -p /data/audio_dir_2
chown -R share:share audioserve
chown -R share:share /data/audio_dir_1
chown -R share:share /data/audio_dir_2

cat <<EOF > audioserve/config.yaml
transcoding:
  low:
    opus-in-ogg:
      bitrate: 16
      compression_level: 3
      cutoff: WideBand
      mono: true
  medium:
    opus-in-ogg:
      bitrate: 24
      compression_level: 6
      cutoff: SuperWideBand
      mono: true
  high:
    opus-in-ogg:
      bitrate: 32
      compression_level: 9
      cutoff: SuperWideBand
EOF

chown -R share:share audioserve

docker run -d --restart unless-stopped \
  --name audioserve \
  -e PUID=1000 \
  -e PGID=1000 \
  -p 7777:3000 \
  -v /etc/localtime:/etc/localtime:ro \
  -v /data/audio_dir_1:/library_1:ro \
  -v /data/audio_dir_2:/library_2:ro \
  -v "$PWD"/audioserve:/home/audioserve/.audioserve \
  -e AUDIOSERVE_LISTEN=0.0.0.0:3000 \
  -e AUDIOSERVE_NO_AUTHENTICATION=true \
  -e AUDIOSERVE_CONFIG=/home/audioserve/.audioserve/config.yaml \
  -e AUDIOSERVE_ALLOW_SYMLINKS=true \
  -e AUDIOSERVE_T_CACHE_DIR=/tmp \
  -e AUDIOSERVE_NO_NATURAL_FILES_ORDERING=true \
  -e AUDIOSERVE_CHANGES_DEBOUNCE_INTERVAL=10 \
  -e AUDIOSERVE_TAGS=true \
  -e AUDIOSERVE_BEHIND_PROXY=false \
  -e AUDIOSERVE_TRANSCODING_MAX_PARALLEL_PROCESSES=8 \
  -e AUDIOSERVE_POSITIONS_BACKUP_SCHEDULE="0 3 * * *" \
  -e AUDIOSERVE_POSITIONS_BACKUP_FILE=/home/audioserve/.audioserve/positions-backup.json \
  -e AUDIOSERVE_DEBUG=true \
  izderadicka/audioserve:v0.26.2 \
  /library_1 /library_2

Bookmarks?

Hi, sorry, I couldn't find a better way to ask. I feel crazy, but how do I add a bookmark? Thanks for a great app!

Pause On Interruption

Interruptions like from navigation currently just quiet the playback instead of pausing, this means we lose a few sentences while Google tells me to turn left after the Hardees on US 23154 West Business 983 john phillip sousa boulevard.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.