代码之家  ›  专栏  ›  技术社区  ›  Mang Trinh Gia

无法在javascript(仅IOS)中设置音频的currentTime[重复]

  •  0
  • Mang Trinh Gia  · 技术社区  · 7 年前

    我想创建一个脚本,允许用户从第20秒开始播放音频,它可以在所有浏览器和设备上正常工作,除了IOS。 这是代码

    document.addEventListener('DOMContentLoaded',function(){
        var audio = new Audio();
    
        document.getElementById('play').addEventListener('click',function(){
            audio.src = "test.mp3";
            audio.play();
            audio.pause();
            audio.currentTime = 20;
            audio.play();
            alert(audio.currentTime);
        });
    });
    

    在IOS浏览器上(如iphone上的chrome)进行调试时,警报值为0秒,其他情况下返回20秒。音频播放正常。 哪一点我错了?谢谢你的帮助!

    1 回复  |  直到 7 年前
        1
  •  5
  •   Dan    7 年前

    请确保在加载音频元素之前没有尝试调用此函数。

    这里有一篇很好的文章解释了iOS上的一些bug。

    iOS Audio Bug Workarounds

    这是一篇较旧的文章,但iOS上仍然存在许多相同的问题。

    阅读这篇stackoverflow帖子,获得一系列好的答案

    Stackoverflow audio solutions