requestAudioFocus用于不同的API版本

时间:2018-04-01 04:40:52

标签: java android

我正在尝试为不同的API实现以下构造。我从Gradle收到一条错误消息,我的最小API为15,我无法构建应用程序。我该怎么办?我的错误在哪里?

if (Build.VERSION.SDK_INT < Build.VERSION_CODES.LOLLIPOP) {
   mAudioFocus = mAudioManager.requestAudioFocus(mOnAudioFocusChangeListener,
           AudioManager.STREAM_MUSIC, AudioManager.AUDIOFOCUS_GAIN_TRANSIENT);
} else {
    AudioAttributes mPlaybackAttributes = new AudioAttributes.Builder()
        .setUsage(AudioAttributes.USAGE_MEDIA)
        .setContentType(AudioAttributes.CONTENT_TYPE_SPEECH)
        .build();
    AudioFocusRequest mFocusRequest = new AudioFocusRequest.Builder(AudioManager.AUDIOFOCUS_GAIN)
        .setAudioAttributes(mPlaybackAttributes)
        .setAcceptsDelayedFocusGain(true)
        .setOnAudioFocusChangeListener(mMyFocusListener, mMyHandler)
        .build();
}

1 个答案:

答案 0 :(得分:0)

将您的整个错误消息粘贴在此处是一个加分,这样我们就可以知道真正的问题是什么。

因此,根据您提供的内容,它可能是由build.gradle中定义的minSdkVersion引起的,请确保它至少符合您的代码所需的API级别,因为即使您已定义,如上所示,您的gradle仍然需要与同一级别“同步”。

备注:不同的API级别支持不同的Android架构。