HTML5 <audio> playback with fade in and fade out

后端 未结 5 1015
渐次进展
渐次进展 2020-12-01 00:03

I\'d like to start and stop HTML5 playback in a random position with fade in and fade out periods to smooth the listening experience.

What kind of mechanisms exists

5条回答
  •  粉色の甜心
    2020-12-01 00:57

    Here are a couple of functions to fade-out current song and fade-in new song.

    HTML:

    Javascript:

        function audioVolumeIn(q){
           if(q.volume){
              var InT = 0;
              var setVolume = 0.2; // Target volume level for new song
              var speed = 0.005; // Rate of increase
              q.volume = InT;
              var eAudio = setInterval(function(){
                  InT += speed;
                  q.volume = InT.toFixed(1);
                  if(InT.toFixed(1) >= setVolume){
                     clearInterval(eAudio);
                     //alert('clearInterval eAudio'+ InT.toFixed(1));
                  };
              },50);
           };
       };
    
       function audioVolumeOut(q){
           if(q.volume){
              var InT = 0.4;
              var setVolume = 0;  // Target volume level for old song 
              var speed = 0.005;  // Rate of volume decrease
              q.volume = InT;
              var fAudio = setInterval(function(){
                  InT -= speed;
                  q.volume = InT.toFixed(1);
                  if(InT.toFixed(1) <= setVolume){
                     clearInterval(fAudio);
                     //alert('clearInterval fAudio'+ InT.toFixed(1));
                  };
              },50);
           };
       };
    

提交回复
热议问题