public class AudioFocusHelper
extends java.lang.Object
使用方法:
AudioFocusHelper.OnAudioFocusChangeListener
对象,该接口中的回调方法会在当前应用程序的音频焦点丢失与获取时被调用。requestAudioFocus(int, int)
方法请求音频焦点。abandonAudioFocus()
方法放弃音频焦点。限定符和类型 | 类和说明 |
---|---|
static interface |
AudioFocusHelper.OnAudioFocusChangeListener
可用于监听当前应用程序的音频焦点的获取与丢失。
|
构造器和说明 |
---|
AudioFocusHelper(android.content.Context context,
AudioFocusHelper.OnAudioFocusChangeListener listener)
创建一个
AudioFocusHelper 对象。 |
限定符和类型 | 方法和说明 |
---|---|
void |
abandonAudioFocus()
(主动)放弃音频焦点。
|
int |
requestAudioFocus(int streamType,
int durationHint)
获取音频焦点。
|
public AudioFocusHelper(@NonNull android.content.Context context, @NonNull AudioFocusHelper.OnAudioFocusChangeListener listener)
AudioFocusHelper
对象。context
- Context 对象,不能为 nulllistener
- 事件监听器,不能为 nullpublic int requestAudioFocus(int streamType, int durationHint)
streamType
- 受焦点请求影响的主要音频流类型。该参数通常是 AudioManager.STREAM_MUSIC
。更多音频
流类型,请查看 AudioManager
类中前缀为 STREAM_
的整形常量。durationHint
- 可以是以下 4 个值之一:
AudioManager.AUDIOFOCUS_GAIN
:表示获取未知时长的音频焦点;AudioManager.AUDIOFOCUS_GAIN_TRANSIENT
:表示短暂的获取音频焦点;AudioManager.AUDIOFOCUS_GAIN_TRANSIENT_MAY_DUCK
:表示短暂的获取音频焦点,同时指示先前的焦点所有者可以通过降低音量(duck),并继续播放;AudioManager.AUDIOFOCUS_GAIN_TRANSIENT_EXCLUSIVE
:(API level 19):表示短暂获取音频焦点,在此期间,其他任何应用程序或系统组件均不应播放任何内容。public void abandonAudioFocus()