AudioData

可用性有限

此特性不是基线特性,因为它在一些最广泛使用的浏览器中不起作用。

注意:此功能在 专用 Web Workers 中可用。

AudioData 接口是 WebCodecs API 的一部分,表示一个音频样本。

AudioData 是一个 可转移对象

描述

音频轨道由一系列音频样本组成,每个样本代表一个捕获的声音瞬间。AudioData 对象就是对这样一个样本的表示。通过与 Insertable Streams API 的接口协同工作,您可以使用 MediaStreamTrackProcessor 将流分解为单个 AudioData 对象,或者使用 MediaStreamTrackGenerator 从帧流构建音频轨道。

注意: 有关 Web 上的音频,请参阅 数字音频概念

媒体资源

AudioData 对象包含一个对已连接的媒体资源的引用。此媒体资源包含对象所描述的实际音频样本数据。在 AudioData 对象不再引用媒体资源之前,用户代理会维护该媒体资源,例如当调用 AudioData.close() 时。

声道和音频格式

要获取 AudioData 的样本格式,请使用 AudioData.format 属性。格式可以是交错式平面式。在交错式格式中,来自不同声道的音频样本位于单个缓冲区中,该缓冲区被称为一个声道。此声道包含的元素数量等于 AudioData.numberOfFrames * AudioData.numberOfChannels

在平面式格式中,声道的数量等于 AudioData.numberOfChannels,每个声道都是一个缓冲区,包含的元素数量等于 AudioData.numberOfFrames

构造函数

AudioData()

创建一个新的 AudioData 对象。

实例属性

AudioData.format 只读

返回音频的样本格式。

AudioData.sampleRate 只读

返回音频的采样率(单位:Hz)。

AudioData.numberOfFrames 只读

返回帧数。

AudioData.numberOfChannels 只读

返回音频的声道数。

AudioData.duration 只读

返回音频的时长(单位:微秒)。

AudioData.timestamp 只读

返回音频的时间戳(单位:微秒)。

实例方法

AudioData.allocationSize()

返回容纳样本所需的字节数,这些样本经过方法中传递的选项过滤。

AudioData.copyTo()

AudioData 对象指定声道中的样本复制到目标。

AudioData.clone()

创建一个新的 AudioData 对象,该对象引用与原始对象相同的媒体资源。

AudioData.close()

清除所有状态并释放对媒体资源的引用。

规范

规范
WebCodecs
# audiodata-interface

浏览器兼容性