千家信息网

html5如何自定义audio

发表于:2025-01-31 作者:千家信息网编辑
千家信息网最后更新 2025年01月31日,这篇文章给大家分享的是有关html5如何自定义audio的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。html

css

/* 进度条 */  .range {       width: 5.875rem;       height: 0.15rem;       background: #2386e4;       border-radius: 0.25rem;       -webkit-appearance: none !important;       position: absolute;       top: 3.55rem;       left: 6rem;    }   /* 进度滑块 */  .range::-webkit-slider-thumb {       width: 0.5rem;       height: 0.5rem;       background: #fff;       border: 1px solid #f18900;       cursor: pointer;       border-radius: 0.25rem;       -webkit-appearance: none !important;   }

js

//将秒数转为00:00格式   function timeToStr(time) {       var m = 0,       s = 0,       _m = '00',       _s = '00';       time = Math.floor(time % 3600);       m = Math.floor(time / 60);       s = Math.floor(time % 60);       _s = s < 10 ? '0' + s : s + '';       _m = m < 10 ? '0' + m : m + '';       return _m + ":" + _s;   }   //触发播放事件   $('.play').on('click',function(){       var audio=document.getElementById('ao');       audio.play();       setInterval(function(){           var t=parseInt(audio.currentTime);       $(".range").attr({'max':751});       $('.max').html(timeToStr(751));           $(".range").val(t);       $('.cur').text(timeToStr(t));       },1000);   });   //监听滑块,可以拖动   $(".range").on('change',function(){       document.getElementById('ao').currentTime=this.value;$(".range").val(this.value);   });

以上基本可以实现自定义音频播放,但是在拖动进度条的时候出现了问题,电脑上是ok的,但是在手机上可以拖动,只不过音频的总时长比正常播放少了好几分钟,导致拖动进度后播放不准确。通过测试发现手机上拿到的duration(总时长)跟电脑上不一样,导致滑动后播放位置不准确。究其原因发现因为上传的音频被我压缩了,所以在手机上拿到的duration就跟正常的不一样。所以音频经过压缩后在手机上其duration就会变(电脑上不会),以后要注意。

感谢各位的阅读!关于"html5如何自定义audio"这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!

0