美文网首页
前端audio填坑chrome

前端audio填坑chrome

作者: small瓜瓜 | 来源:发表于2019-12-05 01:07 被阅读0次

前段时间公司项目要用audio自定义播放器,需求倒是挺简单的只要设置一个播放器的界面就可以的,如下:

播放器

但是遇到audio的duration获取有问题,代码如下:

function getDuration(previewURL, audioInstance, successFunc, errorFunc) {
    var audioControl = new Audio(previewURL);
    audioControl.addEventListener('durationchange', function (e) {
        if (e.target.duration !== Infinity && !isNaN(e.target.duration)) {
            successFunc(audioInstance, e.target);
        }
    }, false);
    audioControl.addEventListener('error', function (e) {
        errorFunc(e.target);
    });
}

按照上面的方法,获取的时长需要差不多播放完才可以获取,这真是一个坑爹的问题。


因为需求是在播放的时候显示进度但是播放完才能显示进度怎么搞?难搞哦。


在网上查了那种资料,都没有解决,都说是浏览器chrome的bug,经过测试并不是,因为通过换一个音频的链接就可以,因为项目使用的是后端提供的一个接口,经过对比发现后端返回的音频流response的header没有content-length,content-type等必要字段,加上发现就可以正常获取了


相关文章

  • 前端audio填坑chrome

    前段时间公司项目要用audio自定义播放器,需求倒是挺简单的只要设置一个播放器的界面就可以的,如下: 但是遇到au...

  • 前端填坑笔记

    前言 由于前端研发经验少,很多常识性的东西不知道。在此整理用过的简单的常识性的东西。本次实践涉及的主要框架有:jq...

  • 前端填坑记

    前言 一直以来,我的前端技术栈其实都很弱。这并不是说我不会这些东西,而是非常的生疏。相关的理论其实我读过很多,但是...

  • 前端知识填坑记(三):setTimeout,arguments

    前端知识填坑记(二):call和apply,bind ,new setTimeout 以setTimeout来聊聊...

  • 一道坑爹的面试题

    网上看到一道坑爹的面试题,代码如下:(js真是处处是坑呀。。。(┬_┬)) 输出结果(chrome下): 作为前端...

  • 前端开发填坑整理

    项目开发,是一个将产品的构想具现化的过程,而技术则是工具。 尽管我经常调侃:项目永远是会延期的,需求永远是会变化的...

  • 前端填坑路序言

    从真正开始接触前端(2014年秋)到往后的一年时间里,在学习跟工作上都遇到很多坑。本文集列出一些比较典型的坑跟一些...

  • chrome audio自动播放问题

    chrome、safari、firefox都在某些版本后限制了audio自动播放(chrome是66+),必须要用...

  • 一起玩转Vue-resource

    由于公司前端人员短缺,这周我和涛哥就来填这个坑了,前端使用的js框架是Vue+Vue-resource+Vue-v...

  • 前端知识填坑记(二):call和apply,bind ,new

    前端知识填坑记(一):浏览器内核,事件委托 call和apply,bind 的模拟实现 JavaScript 之 ...

网友评论

      本文标题:前端audio填坑chrome

      本文链接:https://www.haomeiwen.com/subject/wlvrgctx.html