فهرست منبع

LibWeb: Explicitly set the audio element playback position after seeking

The audio element behaves a bit differently than the video element in
that the audio element drives itself on a timer (as opposed to LibVideo
notifying the video element when a frame is available). So if an audio
element is paused while seeking, we wouldn't receive an updated playback
position until the element is unpaused.

This fixes an issue where you would have to click the play button twice
to re-start an audio track after it reached the end.
Timothy Flynn 2 سال پیش
والد
کامیت
e81abbde7b
1فایلهای تغییر یافته به همراه1 افزوده شده و 0 حذف شده
  1. 1 0
      Userland/Libraries/LibWeb/HTML/AudioTrack.cpp

+ 1 - 0
Userland/Libraries/LibWeb/HTML/AudioTrack.cpp

@@ -98,6 +98,7 @@ void AudioTrack::seek(double position, MediaSeekMode seek_mode)
     position = position / duration * static_cast<double>(m_loader->total_samples());
 
     m_loader->seek(position).release_value_but_fixme_should_propagate_errors();
+    m_media_element->set_current_playback_position(this->position().to_milliseconds() / 1000.0);
 }
 
 void AudioTrack::update_volume()