如何解决AudioFocusRequest.Builder() 需要 API 级别 26,但我想在 API 级别 22 上使用它,有什么方法可以在低于 API 26 的 API 级别上使用它吗?
我正在开发一个媒体播放器应用程序,我希望它支持的最小 API 级别是 API 22。
我想使用 Audio Focus 进行媒体播放,但是 AudioFocusRequest.Builder() 在低于 API 26 的 API 级别上不起作用,并且曾经在低于 API 26 的 API 级别上工作的方法 requestAudioFocus() 是现在已弃用,那么我如何在应用中使用 Audio Focus 以使其适用于低于 API 26 的 API 级别以及更高的 API 级别?
audioFocusRequest = new AudioFocusRequest.Builder(AudioManager.AUdioFOCUS_GAIN)
.setonAudioFocuschangelistener(audioFocuschangelistener)
.setFocusGain(AudioManager.AUdioFOCUS_GAIN)
.build();
这段代码不适用于低于 26 的 API 级别并给出此错误消息,
“调用需要 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 中的弃用消息都清除。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。