mirror of
https://github.com/samsonjs/media.git
synced 2026-04-27 15:07:40 +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);
|
audioBecomingNoisyManager.setEnabled(builder.handleAudioBecomingNoisy);
|
||||||
audioFocusManager = new AudioFocusManager(builder.context, eventHandler, componentListener);
|
audioFocusManager = new AudioFocusManager(builder.context, eventHandler, componentListener);
|
||||||
audioFocusManager.setAudioAttributes(builder.handleAudioFocus ? audioAttributes : null);
|
audioFocusManager.setAudioAttributes(builder.handleAudioFocus ? audioAttributes : null);
|
||||||
if (suppressPlaybackOnUnsuitableOutput) {
|
if (suppressPlaybackOnUnsuitableOutput && Util.SDK_INT >= 23) {
|
||||||
audioManager = (AudioManager) applicationContext.getSystemService(Context.AUDIO_SERVICE);
|
audioManager = (AudioManager) applicationContext.getSystemService(Context.AUDIO_SERVICE);
|
||||||
audioManager.registerAudioDeviceCallback(
|
Api23.registerAudioDeviceCallback(
|
||||||
new NoSuitableOutputPlaybackSuppressionAudioDeviceCallback(), /* handler= */ null);
|
audioManager,
|
||||||
|
new NoSuitableOutputPlaybackSuppressionAudioDeviceCallback(),
|
||||||
|
new Handler(applicationLooper));
|
||||||
}
|
}
|
||||||
if (builder.deviceVolumeControlEnabled) {
|
if (builder.deviceVolumeControlEnabled) {
|
||||||
streamVolumeManager =
|
streamVolumeManager =
|
||||||
|
|
@ -3331,6 +3333,7 @@ import java.util.concurrent.TimeoutException;
|
||||||
private static final class Api23 {
|
private static final class Api23 {
|
||||||
private Api23() {}
|
private Api23() {}
|
||||||
|
|
||||||
|
@DoNotInline
|
||||||
public static boolean isSuitableAudioOutputPresentInAudioDeviceInfoList(
|
public static boolean isSuitableAudioOutputPresentInAudioDeviceInfoList(
|
||||||
Context context, AudioDeviceInfo[] audioDeviceInfos) {
|
Context context, AudioDeviceInfo[] audioDeviceInfos) {
|
||||||
if (!Util.isWear(context)) {
|
if (!Util.isWear(context)) {
|
||||||
|
|
@ -3362,12 +3365,20 @@ import java.util.concurrent.TimeoutException;
|
||||||
}
|
}
|
||||||
return false;
|
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
|
* A {@link AudioDeviceCallback} to change playback suppression reason when suitable audio outputs
|
||||||
* to no suitable audio output.
|
* are either added in unsuitable output based playback suppression state or removed during an
|
||||||
|
* ongoing playback.
|
||||||
*/
|
*/
|
||||||
|
@RequiresApi(23)
|
||||||
private final class NoSuitableOutputPlaybackSuppressionAudioDeviceCallback
|
private final class NoSuitableOutputPlaybackSuppressionAudioDeviceCallback
|
||||||
extends AudioDeviceCallback {
|
extends AudioDeviceCallback {
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue