所需服务
API需要声明系统音频服务:使用的类型
构造函数
new AudioFocusSession()
new AudioFocusSession(id): AudioFocusSession
参数
id
number
会话ID获取自
返回值
AudioFocusSession属性
sessionId
sessionId:number
focusUsage
focusUsage:number
方法
getAudioSessionId()
getAudioSessionId():number
获取此实例的会话ID。
返回值
number
number 分配给此实例的会话ID
示例
/* 返回会话ID并将其存储在sessionId中 * const session = new AudioFocusSession(1); const sessionId = session.getAudioSessionId(); //值应为1getUsage()
getUsage():number
获取此焦点会话的当前音频使用类型。如果未请求焦点,则返回USAGE_NONE。
返回值
number
number 来自types/AudioCoreClientTypes.AudioUsageType枚举的当前音频使用类型
示例
registerAudioFocusListenerAsync()
registerAudioFocusListenerAsync(callback:(value: any) => void): Promise<AudioFocusStatus>
注册回调以接收音频焦点更改通知。每次会话只能注册一个回调函数。
参数
callback
(value: any) => void
接收焦点变化事件的函数。事件包括:
GRANTED (0):焦点已获批准RELEASED (1):焦点已释放DUCKED (2):音频被调低(音量降低)PAUSED (3):音频已暂停STOPPED (4):音频停止
返回值
Promise<AudioFocusStatus>
Promise 解析为如下的Promise:
AUDIO_FOCUS_STATUS_NO_ERROR (0):回调注册成功AUDIO_FOCUS_STATUS_BAD_VALUE (-2):回调无效AUDIO_FOCUS_STATUS_NO_INIT (-3):会话未初始化AUDIO_FOCUS_STATUS_INVALID_OPERATION (-8):回调已注册
示例
releaseAudioFocusAsync()
releaseAudioFocusAsync():Promise<AudioFocusStatus>
释放之前请求的音频焦点。必须在音频播放完成或不再需要焦点时调用此方法。
返回值
Promise<AudioFocusStatus>
Promise 解析为如下的Promise:
AUDIO_FOCUS_STATUS_NO_ERROR (0):焦点成功释放AUDIO_FOCUS_STATUS_BAD_VALUE (-2):会话状态无效AUDIO_FOCUS_STATUS_NO_INIT (-3):会话未初始化AUDIO_FOCUS_STATUS_INVALID_OPERATION (-8):无焦点保持
示例
requestAudioFocusAsync()
requestAudioFocusAsync(attr?: AudioFocusAttributes | undefined): Promise<AudioFocusStatus>
请求具有指定属性的会话的音频焦点。授予焦点后,可以根据使用类型调低、暂停或停止任何先前聚焦的音频。
参数
attr?
AudioFocusAttributes | undefined
焦点请求的可选配置。如果未提供,则默认设置为USAGE_MEDIA。
返回值
Promise<AudioFocusStatus>
Promise 解析为如下的Promise:
AUDIO_FOCUS_STATUS_NO_ERROR (0):已成功授予焦点AUDIO_FOCUS_STATUS_DENIED (1):焦点请求被拒绝AUDIO_FOCUS_STATUS_DELAYED (2):焦点请求延迟AUDIO_FOCUS_STATUS_BAD_VALUE (-2):属性无效AUDIO_FOCUS_STATUS_NO_INIT (-3):会话未初始化AUDIO_FOCUS_STATUS_INVALID_OPERATION (-8):操作无效
示例
unregisterAudioFocusListenerAsync()
unregisterAudioFocusListenerAsync():Promise<AudioFocusStatus>
注销之前注册的焦点变更回调。
返回值
Promise<AudioFocusStatus>
Promise 解析为如下的Promise:
AUDIO_FOCUS_STATUS_NO_ERROR (0):回调注销成功AUDIO_FOCUS_STATUS_BAD_VALUE (-2):会话状态无效AUDIO_FOCUS_STATUS_NO_INIT (-3):会话未初始化AUDIO_FOCUS_STATUS_INVALID_OPERATION (-8):未注册任何回调

