AudioPlaybackStream
构造函数
new AudioPlaybackStream()
new AudioPlaybackStream(
id):AudioPlaybackStream
创建新的AudioPlaybackStream实例。不得直接调用此构造函数。使用AudioPlaybackStreamBuilder.AudioPlaybackStreamBuilder.buildAsync创建实例。
参数
id
number
内部流标识符
返回值
属性
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>
包含字段minFramesPerBuffer和minBufferCount的对象
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
渐变曲线类型
返回值
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()
staticgetMajorVersion():number
获取AudioPlaybackStream实现的主要版本号。可用于进行版本检查。
返回值
number
主版本号
getMinorVersion()
staticgetMinorVersion():number
获取AudioPlaybackStream实现的次版本号。可用于进行版本检查。
返回值
number
次版本号
getPatchVersion()
staticgetPatchVersion():number
获取AudioPlaybackStream实现的补丁版本号。可用于进行版本检查。
返回值
number
补丁版本号
Last updated: 2025年10月2日

