我有这个音频播放器,我需要能够在播放音频文件时更改当前时间。目前我只能在音频暂停时更改当前时间。我应该在代码中更改什么?
playAudio(playing_url) {
let audio = new Audio(playing_url);
audio.addEventListener('loadedmetadata', () => {
audio.currentTime = audio.duration * this.state.progress;
console.log('event listener', audio.duration);
});
if(!this.state.playing) {
audio.play();
this.setState({
playing: true,
playing_story: playing_url,
audio
});
} else {
if(this.state.playing_story === playing_url) {
this.state.audio.pause();
this.setState({
playing: false
})
} else {
this.state.audio.pause();
audio.play();
this.setState({
playing: true,
playing_story: playing_url,
audio
})
}
}
}
答案 0 :(得分:0)
你应该按照状态更新currentTime:
audio.addEventListener('loadedmetadata', () => {
// some code to calculate currentTime for first time
audio.currentTime = this.state.currentTime;
});
function changeCurrentTime(time) {
this.setState({ currentTime: time })
}