Controlling audio output (device and volume)

This post is about the constellation of options that control where the sound comes out (“Alarm output”) and how loud it is (volume). Sorry that it will be long

First, the current “Alarm output” menu is misleading. It has 2 options:

  • Device default
  • Force headphones only

I believe the second option is misleading. It actually seems to get “Headphones if connected, else speaker” (which is what most of us want). Can you reword it?

The first option also seems misleading. It actually seems to get “Speaker only,” rather than what my device defaults to for all other audio apps (headphones if connected, else speaker).

Second, for flexibility, it should really have more options:

  • Device default [where is that set, by the way?]
  • Headphones if connected, else speaker
  • Both headphones and speaker
  • Force speaker only
  • Force headphones only

Personally, I want “Headphones if connected, else speaker.” Preferring the headphones lets me avoid bothering people around me if my earbuds are in. (For example, my seatmate or my spouse.) But I need the speaker as a backup if I am not wearing the earbuds, or if they have died or automatically powered off.

However, others might want “Force headphones only,” because they really never want to disturb others. Or they might want “Both” to ensure they hear the alarm even if their earbuds fall out while still powered on.

Third, I should be able to turn off the alarm from the earbuds themselves. This is a safety feature when the alarm is loud and the phone is not within reach. It is also convenient.

Many headphones and earbuds have media controls. For example, clicking my right earbud has the STOP function that will stop the music player or audiobook player. It should stop the alarm, too. Clicking my left earbud has the REWIND function; that should probably snooze the alarm.

Fourth, it’s not safe to use headphones at all without better volume control. You do provide one slider to set the alarm volume – but to avoid damaging my hearing, I would like to set it separately for my earbuds and my phone.

Fifth, for safety, the Gentle Wakeup feature should only go up to the slider’s set volume and no louder! Right now, it ignores the slider’s set volume and goes all the way up to the device’s maximum possible, which is earsplitting and quite dangerous when wearing the earbuds. Already mentioned at [Gentle volume increase up to a certain level] with 76 votes.

Sixth, the slider’s set volume should stay in place. It shouldn’t be affected by the volume buttons as it is now.

At present, if you disable Gentle Wakeup, the alarm will “use current device volume.” But the current device volume was set for my fall-asleep music, or whatever I was doing when I went to bed. The alarm volume should not depend on that.

If my alarm goes off at 8am every day, it should have the same volume every day – with no risk that I’ll screw it up by listening to something at a different volume before bed.

Hi @eclecticos,
there are a few sound streams on Android devices, we use media sound stream and alarm sound stream.
Typically, the alarm sound stream is played by the phone’s speaker, but can be configure to be played via a connected BT device.
The media sound stream is played by the connected headphones/BT speakers.
The app cannot pick which device will be use, it can only pick one of the available sound streams.

The option “Device default” uses the alarm sound stream, and will be played by the speaker, and it may be also played by the connected headphones (depending on the system). It does not mean “speakers only”.
The option “Force headphones only” uses the media sound stream, and will be played by the connected headphones/BT speakers.

ad 2 - this cannot be picked by the app

ad 3 - are the buttons on the earbuts protected from being pressed by accident?

ad 4 - that is why the option to use headphones is only in the advanced section, and is labeled with “Dangerous options - use with CAUTION!”. We hope this will warn users this setttins options should be used with caution.
There is only one sound stream we can use, it is not possible to configure different volume of one sound stream.

ad 5 -the gentle volume increase of 30 seconds stops at the current alarm volume in the system. We only got 76 votes for this feature over 6 years, but we decided to give it a try with this option.

ad 6 - volume buttons do not change the volume, the app will force the volume back

Unless the fall-asleep music uses the alarm sound stream, the current device volume of the alarm will not be affected, if you change its playback volume.
When listening to your music, you are changing the volume of the media sound stream.

Dear @lenka-urbandroid – thanks so much for your prompt and detailed response. I didn’t see it until now – somehow I missed the email notification that you had replied. My apologies.

Thanks for clarifying some of the constraints that you face. Before I answer fully, perhaps I can ask a few quick questions so that I understand the constraints better:

  • You say that the media sound stream will be played by the connected BT device. But if there is no connected BT device, then it will be played by the phone speaker, correct?

  • Can the app detect whether there is a connected BT device or not?

  • Can the app detect whether the alarm stream will be played by BT also and not just the speaker? (You say that this depends on the system, so I’m asking whether the app can tell which kind of system it’s running on.)

  • Can the app detect the current volume setting?

Thanks! I’ll be able to answer more clearly if I understand these things.

Usually yes. If the system does not have any BT device connected, it plays media via a phone’s speakers.

Yes, we can detect a bt device connected. But we cannot detect if the system will use it to play the media.

No, we cannot detect how the system handles the sound streams, so we cannot tell, if the system will play only with speakers, only with bt devices, or both.

Yes, we can detect the current volume level.
With the gentle volume feature, the app will go from zero to max, and after snooze/dismiss, the volume is reverted to the original level.
With system’s current volume, the app does not touch the volume, it only asks the system to play the ringtone file.