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 |
浏览器兼容性
加载中…