Web Audio API를 사용하여 오디오 파일을 병합, 연결, 재생, 내보내기 및 다운로드하는 간단한 방법입니다.
온라인 데모 보기
yarn add crunker
npm install crunker
let crunker = new Crunker ( ) ;
crunker
. fetchAudio ( '/song.mp3' , '/another-song.mp3' )
. then ( ( buffers ) => {
// => [AudioBuffer, AudioBuffer]
return crunker . mergeAudio ( buffers ) ;
} )
. then ( ( merged ) => {
// => AudioBuffer
return crunker . export ( merged , 'audio/mp3' ) ;
} )
. then ( ( output ) => {
// => {blob, element, url}
crunker . download ( output . blob ) ;
document . body . append ( output . element ) ;
console . log ( output . url ) ;
} )
. catch ( ( error ) => {
// => Error Message
} ) ;
crunker . notSupported ( ( ) => {
// Handle no browser support
} ) ;
let crunker = new Crunker ( ) ;
crunker
. fetchAudio ( '/voice.mp3' , '/background.mp3' )
. then ( ( buffers ) => crunker . mergeAudio ( buffers ) )
. then ( ( merged ) => crunker . export ( merged , 'audio/mp3' ) )
. then ( ( output ) => crunker . download ( output . blob ) )
. catch ( ( error ) => {
throw new Error ( error ) ;
} ) ;
let crunker = new Crunker ( ) ;
const onFileInputChange = async ( target ) => {
const buffers = await crunker . fetchAudio ( ... target . files , '/voice.mp3' , '/background.mp3' ) ;
} ;
< input onChange = { onFileInputChange ( this ) } type = "file" accept = "audio/*" / > ;
더 자세한 API 문서를 보려면 Typescript 입력을 참조하세요.
Crunker의 새 인스턴스를 만듭니다. 선택적으로 sampleRate
키를 사용하여 객체를 제공할 수 있지만 기본적으로 장치에 적합한 내부 오디오 컨텍스트와 동일한 샘플링 속도로 설정됩니다.
하나 이상의 오디오 파일을 가져옵니다.
반환값: 가져온 순서대로의 오디오 버퍼 배열.
두 개 이상의 오디오 버퍼를 병합합니다.
반환값: 단일 AudioBuffer
객체.
지정된 순서대로 두 개 이상의 오디오 버퍼를 연결합니다.
반환값: 단일 AudioBuffer
객체.
오디오의 시작, 끝 또는 지정된 지점에서 무음으로 오디오를 채웁니다.
반환값: 단일 AudioBuffer
객체.
오디오를 지정된 범위로 분할하여 범위 밖의 모든 콘텐츠를 제거합니다. 필요에 따라 클릭 소리가 들리지 않도록 시작 부분에 페이드 인을 추가하고 끝 부분에 페이드 아웃을 추가합니다.
0
입니다.0
입니다. 반환값: 단일 AudioBuffer
객체.
MIME 유형 옵션을 사용하여 오디오 버퍼를 내보냅니다.
유형: 예 'audio/mp3', 'audio/wav', 'audio/ogg'
. 중요 : MIME 유형은 실제 파일 형식을 변경하지 않습니다 . 후드 아래에는 항상 WAVE
파일이 있습니다.
반환값: blob 객체, URL 및 오디오 요소 객체를 포함하는 객체.
선택적 파일 이름을 사용하여 내보낸 오디오 blob을 자동으로 다운로드합니다.
파일 이름: .mp3, .wav 또는 .ogg 파일 확장자를 포함 하지 않는 문자열입니다.
반환: 자동 다운로드를 시뮬레이션하는 데 사용되는 HTMLAnchorElement
요소.
내보낸 오디오 버퍼를 백그라운드에서 재생하기 시작합니다.
반환값: HTMLAudioElement
.
사용자 브라우저에서 Web Audio API가 지원되지 않는 경우 사용자 정의 코드를 실행하십시오.
반환값: 콜백 함수.
더 자세한 API 문서를 보려면 Typescript 입력을 참조하세요.
특정 Crunker가 내부적으로 사용하는 AudioContext에 액세스합니다.
반환: AudioContext.
MIT