【发布时间】:2015-01-22 00:14:29
【问题描述】:
我正在尝试在我的 Android 上的服务器上播放 MP3 文件。它在桌面版 Chrome 中运行良好,但是当我在 Android 上使用 Chrome 时,它会返回 503 Service Unavailable 错误。
当我在 Android 上的 Chrome 上直接访问文件并使用 Google 开发工具中的“网络”选项卡(使用远程调试)时,我看到两个 HTTP 请求:
Android
=======
(1)
Status: 200 OK
Type: audio/mpeg
Size: 1.3KB (the file should be around 36kB)
(2)
Status: 503 Service Unavailable
Type: text/html
Sometimes, the error throws a Varnish cache error instead.
在桌面上,我们得到两个预期的响应:
DESKTOP
=======
(1)
Status: 200 OK
Type: audio/mpeg
Size: 2.8KB
(2)
Status: 206 Partial Content
Type: audio/mpeg
Size: 36.9KB
我尝试使用 Android Chrome 访问另一个网站 (http://www.noiseaddicts.com/samples/3711.mp3) 上的不同 MP3 文件,它运行良好并且没有引发错误。
我尝试在 Android 上使用 Firefox,它现在运行良好。我尝试在 iOS 上使用 Safari,但它也无法播放。
如何让 MP3 文件在这些基于 Chromium 的浏览器上播放?
更新(UTC 0225 2014 年 11 月 25 日)
我一直在阅读 this thread 哪些建议编码可能是相关的,所以使用 ffmpeg(不是 libav 版本),我得到了这个输出(不知道它是否相关):
Duration: 00:00:03.11, start: 0.000000, bitrate: 96 kb/s
Stream #0:0: Audio: mp3, 22050 Hz, mono, s16p, 96 kb/s
我可以在 Chrome 中播放这个文件:
Duration: 00:00:07.87, start: 0.000000, bitrate: 128 kb/s
Stream #0:0: Audio: mp3, 44100 Hz, stereo, s16p, 128 kb/s
更新(UTC 0406 2014 年 11 月 25 日)
我使用sox 将文件转换为相同的比特率、立体声、Hz。但是第一个文件仍然不播放,而第二个文件播放。
有人还建议它与 AudioContext 有关...所以我正在阅读。
【问题讨论】:
-
你有代理吗?您可以在设备本身的浏览器上尝试该链接吗?
-
@P Ravikant 感谢您的建议!我真的没有想法......是的,我可以通过桌面上的代理访问文件,在我的本地机器上。 Android 测试是通过我自己的设备使用网络数据进行的。
-
原来我的 Android Chrome 的播放时间不超过 5 秒……这真的很奇怪……尽管其他开发人员也有同样的问题
标签: android google-chrome mp3 mobile-safari http-status-code-503