AudioFocusRequest.Builder() 需要 API 级别 26 但我想在 API 级别 22 上使用它,有什么方法可以在 API 级别以下使用它 API 26?

AudioFocusRequest.Builder() requires API level 26 but I want to use it on API level 22, is there any way to use it on API levels less than API 26?

我正在开发一个媒体播放器应用程序,我希望它支持的最低 API 级别是 API 22。

我想使用 Audio Focus 进行媒体播放,但是 AudioFocusRequest.Builder() 在 API 级别低于 API 26 和方法 requestAudioFocus() 上不起作用曾经在 API 级小于 API 26 的水平上工作的现在已被弃用,那么我如何在应用程序中使用 Audio Focus 以便它在小于 API 的水平上工作 API 26 还有更高的 API 级别?

audioFocusRequest = new AudioFocusRequest.Builder(AudioManager.AUDIOFOCUS_GAIN)
                                .setOnAudioFocusChangeListener(audioFocusChangeListener)
                                .setFocusGain(AudioManager.AUDIOFOCUS_GAIN)
                                .build();

这段代码不适用于 API 小于 26 的级别并给出此错误消息,

"通话要求 API 等级 26(当前最低等级为 22):新 android.media.AudioFocusRequest.Builder"

Check the API level at runtime选择是使用requestAudioFocus()还是AudioFocusRequest.Builder

if (Build.VERSION.SDK_INT >= 26) {
  // Use AudioFocusRequest.Builder
} else {
  // Use requestAudioFocus
}

这应该使您收到的错误和弃用消息从 IDE 中清除。