1. 完全限定的编解码器字符串
编解码器字符串为 "flac"。
2. EncodedAudioChunk 数据
EncodedAudioChunk
的 [[internal data]]
预期为
[FLAC] 中所述的一个 “FRAME”。
3. AudioDecoderConfig description
description
是必需的,并且必须如下:
-
字节
0x66 0x4C 0x61 0x43(ASCII 中的 “fLaC”) -
一个
metadata block(称为 STREAMINFO 块),如 [FLAC] 第 7 节所述 -
可选地包含其他元数据块,这些块不会被本规范使用
sampleRate
和 numberOfChannels
成员会被解码器在 description
中找到的内容覆盖。
注: 这对应于 FLAC 比特流的开头,位于音频 帧之前。
4. EncodedAudioChunk type
对于包含
FLAC 的 EncodedAudioChunk,
其 [[type]]
始终为 “key”。
注: 一旦初始化成功,任何 FLAC 数据包都可以在 任何时候无错误地解码,但这可能不会产生预期的音频输出。
5. AudioEncoderConfig 扩展
partial dictionary AudioEncoderConfig {FlacEncoderConfig flac ; };
flac, 类型为 FlacEncoderConfig- 包含 FLAC 编解码器的编解码器特有配置选项。
5.1. FlacEncoderConfig
dictionary { [FlacEncoderConfig EnforceRange ]unsigned long blockSize = 0; [EnforceRange ]unsigned long compressLevel = 5; };
要检查某个 FlacEncoderConfig
是否有效,请运行以下步骤:
-
如果指定了
compressLevel, 且它不在0(最快,压缩最少)到8(最慢,压缩最多)的闭区间内,则返回false。 -
返回
true。
blockSize, 类型为 unsigned long,默认值为0-
配置每个输出
EncodedAudioChunk帧所使用的样本数量。注: 使用 0 可让编码器默认估计一个 块大小。
compressLevel, 类型为 unsigned long,默认值为5- 配置编码时要使用的压缩级别。
6. 隐私考量
请参阅 隐私 考量一节,该节位于 [WEBCODECS] 中。
7. 安全考量
请参阅 安全 考量一节,该节位于 [WEBCODECS] 中。