MP3 文件无法在 iOS Safari 上加载,但在 MacOS / Chrome / Edge 上运行良好?

问题描述 投票:0回答:1

有点卡在这个上了。

我正在从 Cloudflare Worker 提供 .mp3 文件,解压缩存档并返回 mp3 文件的缓冲区。它在 Chrome、edge 以及 MacOS 上的 Safari 甚至 iOS 模拟器中运行良好。但是,无法在 iOS Safari 上加载。无法加载资源,插件处理加载。在将 HTTP 响应代码更改为 206 之前,我最初在 MacOS Safari 上也遇到了相同的错误。这是我的 Cloudflare 工作代码的响应部分。

    const mp3ArrayBuffer = await mp3ZipObject.async('arraybuffer');
    
    const total = mp3ArrayBuffer.byteLength;

    const start = 0;
    const end = total - 1;

    const contentRange = `bytes ${start}-${end}/${total}`;

    return new Response(mp3ArrayBuffer, {
        status: 206,
        headers: { 'Content-Type': 'audio/mpeg', 'Content-Range': contentRange, 'Content-Encoding': 'identity' },
    });
}

这里是 mp3 文件的链接。 MP3 文件

mobile-safari mp3 cloudflare-workers
1个回答
0
投票

我不确定,但我怀疑采样率是问题所在。很少有人使用 24 kHz 采样率。最初的 MP3 标准中并不支持它。 (我的意思是,它已经存在了近 30 年,但也许这是一个错误或有意的兼容性差异,很少有人关心,所以它还没有得到修复。)

48 kHz 的运气可能会更好。

© www.soinside.com 2019 - 2024. All rights reserved.