Commit 7a0f00ce by Oliver Woodman

No-op setting volume to current volume.

parent 3c65df92
...@@ -357,7 +357,7 @@ public final class AudioTrack { ...@@ -357,7 +357,7 @@ public final class AudioTrack {
} }
audioTrackUtil.reconfigure(audioTrack, isPassthrough()); audioTrackUtil.reconfigure(audioTrack, isPassthrough());
setVolume(volume); setAudioTrackVolume();
return sessionId; return sessionId;
} }
...@@ -582,23 +582,29 @@ public final class AudioTrack { ...@@ -582,23 +582,29 @@ public final class AudioTrack {
/** Sets the playback volume. */ /** Sets the playback volume. */
public void setVolume(float volume) { public void setVolume(float volume) {
this.volume = volume; if (this.volume != volume) {
if (isInitialized()) { this.volume = volume;
if (Util.SDK_INT >= 21) { setAudioTrackVolume();
setVolumeV21(audioTrack, volume); }
} else { }
setVolumeV3(audioTrack, volume);
} private void setAudioTrackVolume() {
if (!isInitialized()) {
// Do nothing.
} else if (Util.SDK_INT >= 21) {
setAudioTrackVolumeV21(audioTrack, volume);
} else {
setAudioTrackVolumeV3(audioTrack, volume);
} }
} }
@TargetApi(21) @TargetApi(21)
private static void setVolumeV21(android.media.AudioTrack audioTrack, float volume) { private static void setAudioTrackVolumeV21(android.media.AudioTrack audioTrack, float volume) {
audioTrack.setVolume(volume); audioTrack.setVolume(volume);
} }
@SuppressWarnings("deprecation") @SuppressWarnings("deprecation")
private static void setVolumeV3(android.media.AudioTrack audioTrack, float volume) { private static void setAudioTrackVolumeV3(android.media.AudioTrack audioTrack, float volume) {
audioTrack.setStereoVolume(volume, volume); audioTrack.setStereoVolume(volume, volume);
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or sign in to comment