使用getRecorderManager录音后获取录音文件AudioBuffer, 采样频率为什么是48000,设置的是16000
以下为设置录音参数
const options = {
duration: 5000, //指定录音的时长,单位 ms
sampleRate: 16000, //采样率
numberOfChannels: 1, //录音通道数
encodeBitRate: 25600, //编码码率(比特率)
format: 'PCM', //音频格式,有效值 aac/mp3
}
以下为获取录音代码.
recorderManager.onStop((res) => {
console.log('录音结束');
// 读取录音文件
const filePath = res.tempFilePath;
const fileManager = wx.getFileSystemManager();
fileManager.readFile({
filePath: filePath,
success: function (res) {
const data = new Uint8Array(res.data);
console.log('res.data: ', res.data);
// 解码为 AudioBuffer
const audioContext = wx.createWebAudioContext()
audioContext.decodeAudioData(res.data, function (audioBuffer) {
console.log('audioBuffer: ', audioBuffer); //{length: 241920, duration: 5.04, sampleRate: 48000, numberOfChannels: 1}
}
}
});
相似问题