as

Settings
Sign out
Notifications
Alexa
亚马逊应用商店
AWS
文档
Support
Contact Us
My Cases
新手入门
设计和开发
应用发布
参考
支持

AudioPlaybackStream

AudioPlaybackStream

构造函数

new AudioPlaybackStream()

new AudioPlaybackStream(id): AudioPlaybackStream

创建新的AudioPlaybackStream实例。不得直接调用此构造函数。使用AudioPlaybackStreamBuilder.AudioPlaybackStreamBuilder.buildAsync创建实例。

参数

id

number

内部流标识符

返回值

AudioPlaybackStream

属性

streamId

streamId: number

方法

duckVolumeAsync()

duckVolumeAsync(mode, value, rampDurationMs): Promise<number>

调整用于放弃的流音量。仅在使用EXPLICIT放弃策略时有效。

参数

mode

number

DB (0)PERCENTAGE (1)

value

number

音量的减小量:

  • 对于DB: 减小0-144dB
  • 对于PERCENTAGE: 减小0-100%
rampDurationMs

number

达到目标音量所需的时间(单位:毫秒)

返回值

Promise<number>

解析为以下项的Promise:

  • STATUS_NO_ERROR (0): 音量放弃成功
  • STATUS_NO_INIT (-3): 流未初始化
  • STATUS_BAD_VALUE (-2): 参数无效
  • STATUS_INVALID_OPERATION (-8): 错误的放弃原则

flushAsync()

flushAsync(): Promise<AudioStatus>

在不更改播放状态的情况下清空所有缓冲的数据。

返回值

Promise<AudioStatus>

解析为以下项的Promise:

  • STATUS_NO_ERROR (0): 成功清空
  • STATUS_NO_INIT (-3): 流未初始化
  • STATUS_INVALID_OPERATION (-8): 播放时无法清空
  • STATUS_DEAD_OBJECT (-5): 服务器通信错误

getAudioAttributesAsync()

getAudioAttributesAsync(): Promise<AudioAttributes>

检索播放流的当前音频属性。

返回值

Promise<AudioAttributes>

解析为包含以下内容的AudioAttributes对象的Promise:

  • contentType: 正在播放的内容类型
  • usage: 流的使用类别
  • flags: 当前行为标记,或者通过以下项拒绝:
  • STATUS_NO_INIT (-3): 流未初始化
  • STATUS_DEAD_OBJECT (-5): 服务器通信错误

getAudioConfigAsync()

getAudioConfigAsync(): Promise<AudioConfig>

检索播放流的当前音频配置。

返回值

Promise<AudioConfig>

解析为包含以下内容的AudioConfig对象的Promise:

  • sampleRate: 当前采样率(单位:Hz)
  • channelMask: 当前频道配置
  • format: 当前样本格式,或者通过以下项拒绝:
  • STATUS_NO_INIT (-3): 流未初始化
  • STATUS_DEAD_OBJECT (-5): 服务器通信错误

getAudioEffectSessionIdAsync()

getAudioEffectSessionIdAsync(): Promise<number>

获取与流相关的自定义音效会话ID。

返回值

Promise<number>

解析为以下项的Promise:

  • 正值: 效果会话ID
  • STATUS_NO_INIT (-3): 流未初始化
  • STATUS_BAD_VALUE (-2): 未分配效果会话

getAudioFocusSessionIdAsync()

getAudioFocusSessionIdAsync(): Promise<number>

获取与流相关的音频焦点会话ID。

返回值

Promise<number>

解析为以下项的Promise:

  • 正值: 焦点会话ID
  • STATUS_NO_INIT (-3): 流未初始化
  • STATUS_BAD_VALUE (-2): 未分配焦点会话

getBufferCountAsync()

getBufferCountAsync(): Promise<number>

获取为此流配置的缓冲区数量。

返回值

Promise<number>

解析为以下项的Promise:

  • 正值: 缓冲区数量
  • STATUS_NO_INIT (-3): 流未初始化
  • STATUS_DEAD_OBJECT (-5): 服务器通信错误

getChannelCountAsync()

getChannelCountAsync(): Promise<number>

获取播放流的频道数。

返回值

Promise<number>

解析为以下项的Promise:

  • 正值: 频道数量
  • STATUS_NO_INIT (-3): 流未初始化
  • STATUS_DEAD_OBJECT (-5): 服务器通信错误

getDuckingPolicyAsync()

getDuckingPolicyAsync(): Promise<number>

获取流的当前放弃策略。

返回值

Promise<number>

解析为types/AudioCoreClientTypes.StreamDuckingPolicy的Promise:

  • SYSTEM (0): 系统会自动处理放弃
  • EXPLICIT (1): 应用必须处理放弃

或显示以下拒绝结果:

  • STATUS_NO_INIT (-3): 流未初始化
  • STATUS_DEAD_OBJECT (-5): 服务器通信错误

getFramesPerBufferAsync()

getFramesPerBufferAsync(): Promise<number>

获取为此流配置的每个缓冲区的帧数。

返回值

Promise<number>

解析为以下项的Promise:

  • 正值: 每个缓冲区的帧数
  • STATUS_NO_INIT (-3): 流未初始化
  • STATUS_DEAD_OBJECT (-5): 服务器通信错误

getLatencyInMsAsync()

getLatencyInMsAsync(): Promise<number>

以毫秒为单位获取播放流的当前延迟。这包括缓冲和硬件延迟。

返回值

Promise<number>

解析为以下项的Promise:

  • 正值: 延迟(单位:毫秒)
  • STATUS_NO_INIT (-3): 流未初始化
  • STATUS_DEAD_OBJECT (-5): 服务器通信错误

getNumBytesInPipelineAsync()

getNumBytesInPipelineAsync(): Promise<number>

获取当前播放管道中等待播放的字节数。

返回值

Promise<number>

解析为以下项的Promise:

  • 正值: 管道中的字节数
  • STATUS_NO_INIT (-3): 流未初始化
  • STATUS_DEAD_OBJECT (-5): 服务器通信错误

getNumBytesOfNativeBufferAsync()

getNumBytesOfNativeBufferAsync(): Promise<number>

获取用于播放的原生缓冲区的大小。这表示可以排队等待播放的最大数据量。

返回值

Promise<number>

解析为以下项的Promise:

  • 正值: 缓冲区大小(单位:字节)
  • STATUS_NO_INIT (-3): 流未初始化
  • STATUS_DEAD_OBJECT (-5): 服务器通信错误

getPresentedFrameCountAsync()

getPresentedFrameCountAsync(): Promise<number>

获取已播放的总帧数。

返回值

Promise<number>

解析为以下项的Promise:

  • 正值: 成功时播放到音频管道的帧数。
  • STATUS_NO_INIT (-3): 流未初始化
  • STATUS_DEAD_OBJECT (-5): 服务器通信错误

getSampleRateAsync()

getSampleRateAsync(): Promise<number>

获取播放流的采样率。

返回值

Promise<number>

解析为以下项的Promise:

  • 正值: 采样率(单位:Hz)
  • STATUS_NO_INIT (-3): 流未初始化
  • STATUS_DEAD_OBJECT (-5): 服务器通信错误

getSampleSizeAsync()

getSampleSizeAsync(): Promise<number>

获取播放流的样本大小(单位:位)。

返回值

Promise<number>

解析为以下项的Promise:

  • 正值: 以位为单位的样本大小(例如16、24、32)
  • STATUS_NO_INIT (-3): 流未初始化
  • STATUS_DEAD_OBJECT (-5): 服务器通信错误

getUnderrunCountAsync()

getUnderrunCountAsync(): Promise<number>

获取欠载出现次数的总数。

返回值

Promise<number>

解析为以下项的Promise:

  • 正值: 流生命周期内发生的欠载次数。

  • STATUS_NO_INIT (-3): 流未初始化
  • STATUS_DEAD_OBJECT (-5): 服务器通信错误

getUnderrunSizeAsync()

getUnderrunSizeAsync(): Promise<number>

获取欠载大小(以帧为单位)。当播放缓冲区变为空时,会出现欠载。

返回值

Promise<number>

解析为以下项的Promise:

  • 正值: 缓冲区大小和欠载阈值之间的帧数差异。帧值向上舍入。
  • 0: 没有欠载

  • STATUS_NO_INIT (-3): 流未初始化
  • STATUS_DEAD_OBJECT (-5): 服务器通信错误

getVolumeAsync()

getVolumeAsync(): Promise<number>

获取流的当前音量水平。

返回值

Promise<number>

解析为以下项的Promise:

  • 0-100: 当前音量水平
  • STATUS_NO_INIT (-3): 流未初始化
  • STATUS_DEAD_OBJECT (-5): 服务器通信错误

initCheckAsync()

initCheckAsync(): Promise<AudioStatus>

验证播放流是否已正确初始化。必须在使用其他方法之前调用,以确保流准备就绪。

返回值

Promise<AudioStatus>

解析为以下项的Promise:

  • STATUS_NO_ERROR (0): 流已正确初始化
  • STATUS_NO_INIT (-3): 流未初始化
  • STATUS_DEAD_OBJECT (-5): 服务器通信错误

pauseAsync()

pauseAsync(): Promise<AudioStatus>

暂停流的播放。缓冲区中的数据会被保留,可以使用startAsync恢复播放。

返回值

Promise<AudioStatus>

解析为以下项的Promise:

  • STATUS_NO_ERROR (0): 成功暂停
  • STATUS_NO_INIT (-3): 流未初始化
  • STATUS_INVALID_OPERATION (-8): 流已经暂停
  • STATUS_DEAD_OBJECT (-5): 服务器通信错误

queryMinimumBufferInfoAsync()

queryMinimumBufferInfoAsync(): Promise<Object>

获取最小缓冲区信息

返回值

Promise<Object>

包含字段minFramesPerBufferminBufferCount的对象


registerEventObserverAsync()

registerEventObserverAsync(callback): Promise<AudioStatus>

注册一个回调来接收播放流事件。一次只能注册一个回调。

参数

callback

(value) => void

接收事件的函数。事件包括:

  • DIED (0): 流失败
  • RECOVERED (1): 流已从故障中恢复
  • STOPPED (2): 播放已停止
  • MUTE_STATE_UPDATE (3): 流静音状态已更改
  • FRAME_UNDERRUN (4): 出现缓冲区欠载的情况

返回值

Promise<AudioStatus>

解析为以下项的Promise:

  • STATUS_NO_ERROR (0): 回调注册成功
  • STATUS_NO_INIT (-3): 流未初始化
  • STATUS_BAD_VALUE (-2): 回调无效
  • STATUS_ALREADY_EXISTS (-4): 回调已注册

setVolumeAsync()

setVolumeAsync(gain): Promise<number>

设置流的音量水平。这与系统音量无关。

参数

gain

number

音量水平 (0-100)

返回值

Promise<number>

解析为以下项的Promise:

  • STATUS_NO_ERROR (0): 音量设置成功
  • STATUS_NO_INIT (-3): 流未初始化
  • STATUS_BAD_VALUE (-2): 增益值无效
  • STATUS_DEAD_OBJECT (-5): 服务器通信错误

setVolumeWithFadeAsync()

setVolumeWithFadeAsync(volume, duration, fadeType): Promise<number>

使用渐变效果设置流的音量。

参数

volume

number

目标音量 (0-100)

duration

number

持续时间(单位:毫秒)

fadeType

AudioFadeType

渐变曲线类型

返回值

Promise<number>

发起fade时解析的Promise

  • STATUS_NO_ERROR (0): 音量设置成功
  • STATUS_NO_INIT (-3): 流未初始化
  • STATUS_BAD_VALUE (-2): 增益值无效
  • STATUS_DEAD_OBJECT (-5): 服务器通信错误

startAsync()

startAsync(): Promise<AudioStatus>

开始或恢复流的播放。

返回值

Promise<AudioStatus>

解析为以下项的Promise:

  • STATUS_NO_ERROR (0): 成功启动
  • STATUS_NO_INIT (-3): 流未初始化
  • STATUS_INVALID_OPERATION (-8): 流已经在播放
  • STATUS_DEAD_OBJECT (-5): 服务器通信错误

stopAsync()

stopAsync(): Promise<AudioStatus>

停止播放并清除所有缓冲区。与pauseAsync不同,这会丢弃所有缓冲的数据。

返回值

Promise<AudioStatus>

解析为以下项的Promise:

  • STATUS_NO_ERROR (0): 成功停止
  • STATUS_NO_INIT (-3): 流未初始化
  • STATUS_INVALID_OPERATION (-8): 流已经停止
  • STATUS_DEAD_OBJECT (-5): 服务器通信错误

unregisterEventObserverAsync()

unregisterEventObserverAsync(): Promise<AudioStatus>

取消注册之前注册的事件回调。

返回值

Promise<AudioStatus>

解析为以下项的Promise:

  • STATUS_NO_ERROR (0): 回调注销成功
  • STATUS_NO_INIT (-3): 流未初始化
  • STATUS_BAD_VALUE (-2): 未注册任何回调

writeAsync()

writeAsync(buffer): Promise<AudioStatus>

将音频数据写入播放缓冲区。

参数

buffer

ArrayBuffer

要写入的音频数据

返回值

Promise<AudioStatus>

解析为以下项的Promise:

  • 正值: 写入的字节数
  • STATUS_NO_INIT (-3): 流未初始化
  • STATUS_BAD_VALUE (-2): 缓冲区无效
  • STATUS_INVALID_OPERATION (-8): 写入操作失败
  • STATUS_WOULD_BLOCK (-6): 缓冲区已满
  • STATUS_DEAD_OBJECT (-5): 服务器通信错误

getMajorVersion()

static getMajorVersion(): number

获取AudioPlaybackStream实现的主要版本号。可用于进行版本检查。

返回值

number

主版本号


getMinorVersion()

static getMinorVersion(): number

获取AudioPlaybackStream实现的次版本号。可用于进行版本检查。

返回值

number

次版本号


getPatchVersion()

static getPatchVersion(): number

获取AudioPlaybackStream实现的补丁版本号。可用于进行版本检查。

返回值

number

补丁版本号


Last updated: 2025年10月2日