1. 完全限定的编解码器字符串
编解码器字符串为 "flac"。
2. EncodedAudioChunk 数据
EncodedAudioChunk
的 [[internal data]]
预期为
[FLAC] 中描述的“FRAME”。
3. AudioDecoderConfig 描述
description
是必需的,并且必须包含以下内容:
-
字节
0x66 0x4C 0x61 0x43(ASCII 中的“fLaC”) -
一个
metadata block(称为 STREAMINFO 块),如 [FLAC] 第 7 节所述 -
可选的其他元数据块,本规范不使用这些元数据块
sampleRate
和 numberOfChannels
成员的值会被解码器在
description
中找到的值覆盖。
注:这对应于 FLAC 比特流的开头,位于音频 帧之前。
4. EncodedAudioChunk 类型
[[type]]
对于包含 FLAC 的 EncodedAudioChunk
而言,
始终为“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]。