使用进度条/元素(Angular 4)中的音频文件跟踪currentTime

时间:2018-03-02 20:20:52

标签: angular audio progress

所以我正在制作音乐播放器。当用户点击一首歌时,我想要一个进度条来显示当前时间在音频文件上的位置。这就是我到目前为止所做的:

HTML(player.component.html)

<progress value="{{songTime}}" max="100"></progress>

Typescript(player.component.ts)

paused: boolean = true;
  songInfo: any = "lol";
  songFile: any = "";
  songTime: any = "";
  audio = new Audio();

  playSong(){
    this.audio.src = this.songFile;
    this.audio.play();
    this.songTime = this.audio.currentTime;
    console.log(this.songTime)
    this.paused = false;
  }

此console.log返回值0,这是您开始播放每首歌曲时的当前时间。

我想,我想,随着歌曲的进展动态改变这个值,并在进度条中直观地反映出来。

1 个答案:

答案 0 :(得分:1)

您只需要向音频播放器添加timeupdate事件监听器。

this.audio.addEventListener("timeupdate", (currentTime)=>{
// Code to update progress bar goes here
});