diff options
author | Martin Fietz <Martin.Fietz@gmail.com> | 2016-02-20 14:15:02 +0100 |
---|---|---|
committer | Martin Fietz <Martin.Fietz@gmail.com> | 2016-02-20 15:27:29 +0100 |
commit | e980a7656c55a5ecb14e47ee9efa98492a570a97 (patch) | |
tree | 7158b231e9e88646c6e9dc46c4ff0568417f0d45 /core/src | |
parent | 844dd17cb195c6fd81d83f5ca560d65612a9cdcb (diff) | |
download | AntennaPod-e980a7656c55a5ecb14e47ee9efa98492a570a97.zip |
Duck and unduck done right
Diffstat (limited to 'core/src')
-rw-r--r-- | core/src/main/java/de/danoeh/antennapod/core/service/playback/PlaybackServiceMediaPlayer.java | 13 |
1 files changed, 7 insertions, 6 deletions
diff --git a/core/src/main/java/de/danoeh/antennapod/core/service/playback/PlaybackServiceMediaPlayer.java b/core/src/main/java/de/danoeh/antennapod/core/service/playback/PlaybackServiceMediaPlayer.java index a82e82506..20bdd1f75 100644 --- a/core/src/main/java/de/danoeh/antennapod/core/service/playback/PlaybackServiceMediaPlayer.java +++ b/core/src/main/java/de/danoeh/antennapod/core/service/playback/PlaybackServiceMediaPlayer.java @@ -693,7 +693,7 @@ public class PlaybackServiceMediaPlayer implements SharedPreferences.OnSharedPre } /** - * Sets the playback speed. + * Sets the playback volume. * This method is executed on an internal executor service. */ public void setVolume(final float volumeLeft, float volumeRight) { @@ -701,7 +701,7 @@ public class PlaybackServiceMediaPlayer implements SharedPreferences.OnSharedPre } /** - * Sets the playback speed. + * Sets the playback volume. * This method is executed on the caller's thread. */ private void setVolumeSync(float volumeLeft, float volumeRight) { @@ -946,15 +946,16 @@ public class PlaybackServiceMediaPlayer implements SharedPreferences.OnSharedPre if (pausedBecauseOfTransientAudiofocusLoss) { // we paused => play now resume(); } else { // we ducked => raise audio level back - audioManager.adjustStreamVolume(AudioManager.STREAM_MUSIC, - AudioManager.ADJUST_RAISE, 0); + setVolumeSync(UserPreferences.getLeftVolume(), + UserPreferences.getRightVolume()); } } else if (focusChange == AudioManager.AUDIOFOCUS_LOSS_TRANSIENT_CAN_DUCK) { if (playerStatus == PlayerStatus.PLAYING) { if (!UserPreferences.shouldPauseForFocusLoss()) { Log.d(TAG, "Lost audio focus temporarily. Ducking..."); - audioManager.adjustStreamVolume(AudioManager.STREAM_MUSIC, - AudioManager.ADJUST_LOWER, 0); + final float DUCK_FACTOR = 0.25f; + setVolumeSync(DUCK_FACTOR * UserPreferences.getLeftVolume(), + DUCK_FACTOR * UserPreferences.getRightVolume()); pausedBecauseOfTransientAudiofocusLoss = false; } else { Log.d(TAG, "Lost audio focus temporarily. Could duck, but won't, pausing..."); |