HTMLVideoElement.currentTime keeps zero for audio source if HTMLVideoElement.muted is true. It can't reproducible in Chrome of Firefox. Example code: <script> const video = document.createElement('video'); video.src = 'your_audio_file.mp3'; video.loop = true; video.muted = true; const check = () => { setTimeout(check, 1000); console.log(video.currentTime); }; check(); </script> Another example: You can also confirm the problem in https://www.w3schools.com/html/tryit.asp?filename=tryhtml5_audio_all by replacing the code with the following. <video muted controls> <source src="your_audio_file.mp3" type="audio/mpeg"> </video> You will see zero duration time on the control panel. OS: macOS Big Sur 11.5.2 Browser: Safari 14.1.2
<rdar://problem/82605737>
Something like this: <!DOCTYPE html> <html> <body> <audio controls> <source src="horse.ogg" type="audio/ogg"> <source src="horse.mp3" type="audio/mpeg"> Your browser does not support the audio element. </audio> <video muted controls> <source src="horse.mp3" type="audio/mpeg"> </video> <script> const video = document.createElement('video'); video.src = 'horse.mp3'; video.loop = true; video.muted = true; const check = () => { setTimeout(check, 1000); console.log(video.currentTime); }; check(); </script> </body> </html> I tested and I get '0' multiple events in Safari 16.6, STP175 and Chrome Canary 117, or am I testing it wrong?