mirror of
https://github.com/samsonjs/media.git
synced 2026-04-09 11:55:46 +00:00
AudioDeviceCallback should not be used below SDK 23.
This gating should have been added in 6e46234589.
PiperOrigin-RevId: 544720503
This commit is contained in:
parent
9945033867
commit
f486074f82
1 changed files with 16 additions and 5 deletions
|
|
@ -388,10 +388,12 @@ import java.util.concurrent.TimeoutException;
|
|||
audioBecomingNoisyManager.setEnabled(builder.handleAudioBecomingNoisy);
|
||||
audioFocusManager = new AudioFocusManager(builder.context, eventHandler, componentListener);
|
||||
audioFocusManager.setAudioAttributes(builder.handleAudioFocus ? audioAttributes : null);
|
||||
if (suppressPlaybackOnUnsuitableOutput) {
|
||||
if (suppressPlaybackOnUnsuitableOutput && Util.SDK_INT >= 23) {
|
||||
audioManager = (AudioManager) applicationContext.getSystemService(Context.AUDIO_SERVICE);
|
||||
audioManager.registerAudioDeviceCallback(
|
||||
new NoSuitableOutputPlaybackSuppressionAudioDeviceCallback(), /* handler= */ null);
|
||||
Api23.registerAudioDeviceCallback(
|
||||
audioManager,
|
||||
new NoSuitableOutputPlaybackSuppressionAudioDeviceCallback(),
|
||||
new Handler(applicationLooper));
|
||||
}
|
||||
if (builder.deviceVolumeControlEnabled) {
|
||||
streamVolumeManager =
|
||||
|
|
@ -3331,6 +3333,7 @@ import java.util.concurrent.TimeoutException;
|
|||
private static final class Api23 {
|
||||
private Api23() {}
|
||||
|
||||
@DoNotInline
|
||||
public static boolean isSuitableAudioOutputPresentInAudioDeviceInfoList(
|
||||
Context context, AudioDeviceInfo[] audioDeviceInfos) {
|
||||
if (!Util.isWear(context)) {
|
||||
|
|
@ -3362,12 +3365,20 @@ import java.util.concurrent.TimeoutException;
|
|||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
@DoNotInline
|
||||
public static void registerAudioDeviceCallback(
|
||||
AudioManager audioManager, AudioDeviceCallback audioDeviceCallback, Handler handler) {
|
||||
audioManager.registerAudioDeviceCallback(audioDeviceCallback, handler);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* A {@link AudioDeviceCallback} to handle auto-resume and auto-pause for playback suppression due
|
||||
* to no suitable audio output.
|
||||
* A {@link AudioDeviceCallback} to change playback suppression reason when suitable audio outputs
|
||||
* are either added in unsuitable output based playback suppression state or removed during an
|
||||
* ongoing playback.
|
||||
*/
|
||||
@RequiresApi(23)
|
||||
private final class NoSuitableOutputPlaybackSuppressionAudioDeviceCallback
|
||||
extends AudioDeviceCallback {
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue