gpt4 book ai didi

javascript - Chrome中的音频时间戳不正确

转载 作者:行者123 更新时间:2023-12-03 01:15:08 25 4
gpt4 key购买 nike

我正在构建一个包含音频元素的Web应用程序,其来源是本地托管的〜1小时长的.mp3文件。当我单击搜索栏以跳到音频中的某个点(例如00:01:00)时,时间戳记变为1:00,并且音频开始播放,但是音频不是1:00的实际部分而是与文件不同的部分(在这种情况下,它从00:00:12开始播放声音)。当我以编程方式设置currentTime时,会发生相同的问题。
简而言之,在Chrome的<audio>元素中,设置currentTime是可以的,但是开始播放的音频并不是人们从头开始自然聆听文件所听到的实际音频。
在Firefox中不会发生这种情况。该问题出现在客户端已经加载的.mp3部分中。该文件通过Express.js服务器(通过create-react-app)提供。
我试图通过以下方式解决该问题。

  • 我已经确认.mp3文件是恒定位速率(使用mp3checker.exe)
  • 我已验证响应 header 包括Accept-Ranges: bytesContent-Range: bytes 0-53497347/53497348(有人建议包括这些 header 来解决类似的问题,除了确认这些 header 是否存在,我不确定是否应该做任何事情)
  • type="audio/mpeg"标签中添加了<source />属性。

  • 编辑:预加载整个文件时,不会发生此问题。将.mp3文件剪切成单个较短的文件时,也不会发生这种情况。但是,我认为这两种解决方案都不适用。
    这些努力都没有解决这个问题。不确定问题是文件,服务器还是浏览器。
    任何帮助将不胜感激。

    最佳答案

    似乎文件本身已损坏,尽管我不确定采用哪种方式。该文件是通过使用node.js中的递归读/写流串联多个.mp3文件而创建的。这种方法显然导致文件的各个方面损坏,从而使不同的播放器对文件的元数据的解释不同。如果有人可以阐明为什么以这种方式串联.mp3文件会导致问题,那将是有益的。

    关于javascript - Chrome中的音频时间戳不正确,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62723687/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com