Audio 元素
1. 结构
interface AudioClip extends BaseClip {
type: "audio";
src: string | { $ref: string };
source?: MediaSource;
volume?: number;
loop?: boolean;
playbackRate?: number;
fadeIn?: number;
fadeOut?: number;
pan?: number;
detune?: number;
gainEnvelope?: AudioEnvelopePoint[];
ducking?: AudioDucking;
}
2. 支持的参数
src
- 类型:
string | { $ref: string }
- 必填:是
source.start
source.end
volume
loop
- 类型:
boolean
- 必填:否
- 默认值:
false
playbackRate
fadeIn
fadeOut
pan
detune
gainEnvelope
- 类型:
{ time: number; volume: number; easing?: EasingFunction }[]
- 必填:否
time 应按升序排列
ducking
- 类型:
{ targets: string[]; amount?: number; attack?: number; release?: number }
- 必填:否
- 用于在当前音频播放时压低目标音频轨道
3. 当前真实行为
source.start 已生效
source.end 已生效
fadeIn / fadeOut 已生效
loop 已生效
playbackRate、detune、pan 和 gainEnvelope 可用于控制播放速度、音高、声像和音量自动化
transition 对音频不生效
4. 示例
{
"type": "audio",
"start": 0,
"duration": 10,
"src": { "$ref": "bgm-main" },
"volume": 0.6,
"fadeIn": 1.2,
"fadeOut": 1.5,
"loop": true
}