<style>
#mydiv {
margin: 20px auto;
width: 1024px;
height: 640px;
background: lightblue url('../pic/r1.jpg') no-repeat center/cover;
position: relative;
box-shadow: 0 0 8px #000;
z-index: 1;
}
</style>
<div id="mydiv">
<css-doodle grid="1" id="mplayer">
:doodle {
@size: 200px;
@shape: circle;
background: pink url('../pic/5191s.jpg') no-repeat center/cover;
mix-blend-mode: screen;
position: absolute;
left: 20px;
top: 20px;
--state: paused;
}
@size: 80px;
@place: 50%;
background: conic-gradient(red, yellow, orange, green, cyan, blue, purple);
border-radius: 50%;
box-shadow: 0 0 8px #333;
cursor: pointer;
:hover { box-shadow: 0 0 28px red; }
animation: rot 6s infinite linear var(--state);
@keyframes rot { to { transform: rotate(360deg); } }
</css-doodle>
<audio id="aud" src="https://music.163.com/song/media/outer/url?id=491979571" autoplay loop></audio>
</div>
<script>
(function() {
let script = document.createElement('script');
script.src = 'https://unpkg.com/css-doodle@0.34.9/css-doodle.min.js';
document.head.appendChild(script);
let mState = () => mplayer.style.setProperty('--state', aud.paused ? 'paused' : 'running');
aud.addEventListener('play', mState, false);
aud.addEventListener('pause', mState, false);
mplayer.onclick = () => aud.paused ? aud.play() : aud.pause();
})();
</script>