diff --git a/app/static/js/player.js b/app/static/js/player.js
index 5808a56..3f39818 100644
--- a/app/static/js/player.js
+++ b/app/static/js/player.js
@@ -621,9 +621,14 @@ async function playSong(song) {
   }
   const src = document.createElement("source");
   src.src = `${location.protocol}//${location.host}/muzikkx/${song.yt_id}.mp3`;
-  src.target = "audio/mpeg";
+  src.type = "audio/mpeg";
   audioPlayerEl.appendChild(src);
 
+  if (isSafari()) {
+    setTimeout(80);
+  }
+  audioPlayerEl.load();
+
   // song's details setting, yada yada
   {
     if (song.title) {
@@ -664,12 +669,6 @@ async function playSong(song) {
       songImageExpandedEl.innerHTML = "";
     }
   }
-  {
-    setTimeout(75);
-    audioPlayerEl.load();
-    setTimeout(75);
-    audioPlayerEl.load();
-  }
   setMediaSessionMetadata(song);
   playMuzikk();
   await updateSongPlays();
@@ -908,6 +907,10 @@ function setMediaSessionMetadata(song) {
   });
 }
 
+function isSafari() {
+  return navigator.userAgent.toLowerCase().includes("safari");
+}
+
 const [toggleLoop, handleLoop, checkLoop] = looper();
 const [playMuzikk, pauseMuzikk, togglePP] = playPauser(audioPlayerEl);
 const stopMuzikk = stopper(audioPlayerEl);