사운드는 기본으로 꺼져 있습니다. 내장 오디오를 쓰려면 sound: true를 전달하세요. 브라우저가 사용자 제스처 없이 시작한 AudioContext를 차단하므로 클릭 같은 제스처에서 켜세요. 각 삭제와 복원 단계는 독립된 사운드 정의를 가지므로 삭제 트랙을 역재생할 필요가 없습니다.
사운드 켜고 끄기
const audible = new Disintegrator({ sound: true });
const silent = new Disintegrator();
effects.remove(element, { sound: true });
작업 수준 값은 해당 호출에서만 인스턴스 설정을 덮어씁니다.
지원 소스
type SoundSource = string | URL | ArrayBuffer | AudioBuffer;
문자열과 URL은 지연 fetch 및 decode됩니다. 자체 리소스 로더가 있으면 ArrayBuffer, 이미 오디오 자산 파이프라인을 운영한다면 재사용 가능한 AudioBuffer를 전달할 수 있습니다.
라이브러리는 압축 파일을 소스 코드의 AudioBuffer로 강제 변환하지 않습니다. 디코딩은 브라우저 런타임 작업이고 압축 파일이 더 작고 캐시하기 좋기 때문입니다.
재생 옵션
effects.remove(element, {
sound: {
src: new URL('/sounds/snap.ogg', location.href),
gain: 0.35,
delay: 40,
duration: 700,
fadeDuration: 120,
playbackRate: 1.05,
},
});
사용자 플레이어
팩토리는 작업 종류, 대상 요소, AbortSignal을 받습니다. 취소를 위한 stop()과 항상 실행되는 정리를 위한 dispose()를 반환할 수 있습니다.
자동 재생 제한, fetch, decode, 사용자 플레이어 오류는 onError로 전달되지만 시각 애니메이션과 DOM 작업을 중단하지 않습니다.