iOS Safari音频流播放问题

iOS Safari音频流播放问题,ios,audio,safari,html5-audio,audio-streaming,Ios,Audio,Safari,Html5 Audio,Audio Streaming,因此,我正在从我的nodejs服务器上传输.mp3音频(使用stream.pipe(response)),并使用HTML5播放它。在除iOS浏览器以外的所有设备上都可以正常工作。 典型的行为是:音频播放几秒钟,然后暂停,我甚至无法取消暂停,所以我必须刷新页面。但我查不到任何原因,反正音频播放几秒钟后再次停止 奇怪的是:它在本地主机上工作得非常好 即使这只是一个连接速度问题,我认为浏览器仍然应该能够以某种方式缓冲音频,并在准备好后立即播放 响应标题: res.status(206)

因此,我正在从我的nodejs服务器上传输.mp3音频(使用stream.pipe(response)),并使用HTML5播放它。在除iOS浏览器以外的所有设备上都可以正常工作。 典型的行为是:音频播放几秒钟,然后暂停,我甚至无法取消暂停,所以我必须刷新页面。但我查不到任何原因,反正音频播放几秒钟后再次停止

奇怪的是:它在本地主机上工作得非常好

即使这只是一个连接速度问题,我认为浏览器仍然应该能够以某种方式缓冲音频,并在准备好后立即播放

响应标题:

        res.status(206).header({
            'Content-Type': 'audio/mpeg',
            'Content-Length': content_length,
            'Content-Range': "bytes " + start + "-" + end + "/" + stat.size,
            'Content-Transfer-Encoding': "binary",
            'Accept-Ranges': "bytes"
        });

        readStream = fs.createReadStream(mp3path, {
            start: start,
            end: end
        });
        readStream.pipe(res);
网页代码很简单,我只需使用一个
标记并从js文件设置src:

htmlAudio.src = audio_stream_api_link;

好的,如果有人会遇到同样的问题,在我的例子中,解决方案是通过添加以下内容来修复代理(nginx)配置:

 proxy_set_header Connection keep-alive;