我正在开发一个函数,可以读取音频文件输入的持续时间,然后将其写入状态。该getDuration功能有效,我可以通过控制台记录音频文件的持续时间。但是,我在访问函数外部的持续时间时遇到问题getDuration。
我想做这样的事情:
onChangeAudioFile(e) {
this.setState({
selectedFileDuration: getDuration(e.target.files[0])
};
function getDuration(file) {
var objectURL = URL.createObjectURL(file);
var audio = new Audio([objectURL]);
var duration = null
audio.onloadedmetadata = function() {
console.log(audio.duration);
duration = audio.duration;
}
return duration
}
}
我可以控制台记录持续时间,但无法将值从函数中取出并将其写入我的状态。
我很高兴得到任何澄清。
繁星淼淼
绝地无双
相关分类