如何解决Javascript - 如何在 setInterval 中使用音频 PCM 数据和采样率?
我正在尝试使用音频缓冲区的 pcmdata 在画布(节点画布)上生成音频波,然后为每一帧创建 .png 文件。第一件事 - 正确使用 pcmdata 和/或采样率和其他属性 - 是我正在努力解决的问题,我怎么能有一个以适当的帧速率工作的 setTimeout 并获得尊重音频采样率和/或的 pcmdata 项目的数量其他属性?
音频缓冲解码代码:
var AudioContext = require('web-audio-api').AudioContext;
var context = new AudioContext;
var exec = require('child_process').exec;
const fs = require('fs');
function decodeSoundBuffer(buffer,ctx,canvas){
fs.readFile(__dirname + '/Polo.mp3',function(err,data){
if (err) throw err;
context.decodeAudioData(
data,function(audioBuffer) {
console.log(audioBuffer);
pcmdata = audioBuffer.getChannelData(0);
samplerate = audioBuffer.sampleRate;
playsound('../Polo.mp3')
},function(err) { throw err }
);
});
}
function playsound(soundfile){
var create_audio = exec('ffplay -autoexit ' + soundfile,{maxBuffer: 1024 * 500},function (error,stdout,stderr) {
if (error !== null) {
console.log('exec error: ' + error);
}
});
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。