(実現したいこと)
Web Audio APIを使用して音源再生時にフィルタ処理したい。
(解決できていないこと)
ソース音源として各種サンプリングレートの音源を用意しております。
しかし、Web Audio APIでdecodeAudioしたAudioBufferで取得できる
サンプリングレートは、44.1kHzに固定されてしまいます。
ウェブ検索すると、固定ではないか?という情報はありますが、
確かな記述がなく、どのように扱われているのかがわかりません。
44.1kHzのサンプリングレートを任意に変更は可能でしょうか?
lang
1private audioctx: any = new AudioContext; 2 3public getAudioBufferSync(file:any): Promise<any> { 4 return new Promise((resolve, reject) => { 5 let f:FileReader = new FileReader(); 6 f.onload = () => { 7 this.audioctx.decodeAudioData(f.result, (buffer) => { 8 resolve(buffer); 9 },(error) => { 10 alert('failed.'); 11 }); 12 }; 13 f.readAsArrayBuffer(file); 14 }); 15} 16 17public getSamplingRate(buffer: any): number { 18 console.log(buffer.sampleRate); //44100 expected 16000 19 console.log(this.audioctx.sampleRate); //44100 expected 16000 20 return this.audioctx.sampleRate; 21}
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/03/08 05:57
2018/03/08 06:10
2018/03/08 06:18
2018/03/08 06:34 編集
2018/03/08 08:25