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
キーを指定できますが、デフォルトではデバイスに適した内部オーディオコンテキストと同じサンプルレートになります。
1 つ以上のオーディオ ファイルをフェッチします。
戻り値:フェッチされた順序でのオーディオ バッファーの配列。
2 つ以上のオーディオ バッファを結合します。
戻り値:単一のAudioBuffer
オブジェクト。
2 つ以上のオーディオ バッファを指定された順序で連結します。
戻り値:単一の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。
マサチューセッツ工科大学