Giter Club home page Giter Club logo

Comments (5)

ByteHamster avatar ByteHamster commented on June 8, 2024 1

You can basically ignore the temporary one in any discussion. From an average user's perspective (who didn't open any settings screen), there is just one playback speed, and making a difference between player screen and settings screen would be confusing, in my opinion. To users, that would feel like the speed does not "stick".

The only reason for the temporary one is that if you have a per-feed one set and change the speed on the player screen, pressing pause and play again in the same episode should remember what you changed. That is not something users need to think about manually changing.

from antennapod.

antennapod-bot avatar antennapod-bot commented on June 8, 2024

This issue has been mentioned on AntennaPod Forum. There might be relevant details there:

https://forum.antennapod.org/t/global-playback-speed-not-reliable/3992/5

from antennapod.

keunes avatar keunes commented on June 8, 2024

Should the Playback speed dialog always update the global setting, or is this dialog not intended to change this setting at all but it should only configure the speed list in "prefPlaybackSpeedArray"?

I think the idea is that the dialog, whether called from the Settings screen or the full Player screen, always changes the setting for current playback and adjusts the preference. (Although one could also argue that when playback is ongoing of an episode whose feed has a custom/podcast-specific playback speed, it should not adjust the global standard. Regardless problem 2, which I would consider a bug indeed.)

I suggest to
change PlaybackService.setSpeed(float speed) to only forward the new speed to mediaPlayer and
change VariableSpeedDialog.onCreateView() to configure the global playback speed in preferences.xml via the app settings dialog.

What does this imply in terms of UX? Global speed is only adjusted when the dialog is opened from the Settings?

I think that adjusting the playback speed when opening the dialog from the Player screen should also adjust the global playback speed - possibly with an exception for episodes with a custom playback speed as indicated above. Reasoning:

  • Talking speed is often consistent between podcasts and between episodes within a podcast.
  • If the talking speed of one podcast deviates from the average, or is in a less well understood language, it can get a podcast-specific speed setting.
  • The talking speed of a single episode is unlikely to deviate from the average of its podcast. So it is unlikely that one would need to adjust the playback speed just for 1 episode currently being listened. Therefore, not adjusting the global default when working from the Player screen (and only affecting currently playing episode) would make little sense.
    • counter-argument: Playback speed may be context-specific; you might want to make things slower while driving in the car without adjusting the global preference.
      • at the same time: Not adjusting the global default would mean that your next episode would 'jump back' to the global default, which is somewhat unexpected also (I expect circumstances to last beyond the length of 1 episode).
        • conclusion: I think frequently updating the global default (also from Player screen) is better than hardly ever doing this (only from Settings screen).

from antennapod.

damoasda avatar damoasda commented on June 8, 2024

To add more details: From data model perspective, there are the following playback speed settings:

  1. The global playback speed, separated for audio and for video.
  2. Per-feed playback speed. If not set, use the global playback speed.
  3. Temporary playback speed for the currently playing media. If not set, use the per-feed playback speed.

This speed settings hierarchy makes AntennaPod very flexible. From my perspective, it's just the UI/UX that isn't intuitive at the moment (and some bugs in the implementation).

I think the following UX would be quite intuitive:

  1. The global playback speed is only adjusted when the dialog is opened from the settings menu.
  2. Per-feed playback speed is configured only from the feed settings dialog, as today.
  3. Temporary playback speed is only adjusted when the dialog is opened from the player screen. No need to also modify the global speed.

from antennapod.

keunes avatar keunes commented on June 8, 2024

Ok, thank you @damoasda. I think that makes sense (even though my impression is that in the past, global playback speed was adjusted from the player screen, meaning there was no temporary speed).

Just one additional question: how long do you foresee the temporary playback speed to last?

Also, if paused, should the temporary speed be set for whatever is paused or (also) playing next? (See #6920)

from antennapod.

Related Issues (20)

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.