HTML5音频blob无法在Android上播放

HTML5音频blob无法在Android上播放,android,html,google-app-engine,html5-audio,blobstore,Android,Html,Google App Engine,Html5 Audio,Blobstore,我正在使用BlobStore从我的GAE应用程序提供一个音频文件(WAV文件,其中包含一个短的未压缩PCM)。 在单击事件中,我设置audio.src并调用audio.play() 下面是奇怪的部分: 当在本地工作时,它在IOS和Android上都表现良好 部署到GAE后,它在IOS上运行良好,但在Android上运行不好 没有显示错误-它只是不播放任何内容。 据我从GAE日志中所知,音频文件在所有情况下都提供。 对于Android,我可以看到来自“Player/LG Player 1.0

我正在使用BlobStore从我的GAE应用程序提供一个音频文件(WAV文件,其中包含一个短的未压缩PCM)。 在单击事件中,我设置
audio.src
并调用
audio.play()

下面是奇怪的部分:

  • 当在本地工作时,它在IOS和Android上都表现良好
  • 部署到GAE后,它在IOS上运行良好,但在Android上运行不好
没有显示错误-它只是不播放任何内容。 据我从GAE日志中所知,音频文件在所有情况下都提供。 对于Android,我可以看到来自“Player/LG Player 1.0 for Android 4.4.2(stagefright备选方案)”的请求

知道发生了什么,或者如何调试吗


更新 根据斯图尔特·兰利的建议,曾尝试播放谷歌云存储中的文件。
在这种情况下,Android运行良好,而IOS则不(时断时续。有时会出错)

因此,对我来说,一个可行的解决方法是将文件存储在云存储上,并调用
createGsBlobKey
将其作为blob使用。 在客户端,我检查它是否是Android(
navigator.userAgent.match(/Android/I)
)。对于Android,我将
audio.src
设置为云存储文件,对于IOS,我将其设置为servlet,该servlet使用
BlobstoreService.service提供文件,并使用我从
createGsBlobKey
获得的blob键提供服务


这是一个麻烦的解决办法,我没有检查其他移动操作系统,看看哪些操作系统适用于每个操作系统,因此,如果有人有更好的解决方案,请告诉我。

这很可能是由于在服务blob时的分块响应

是关于音频文件在某些浏览器中无法正确播放的问题跟踪项

是一个测试网站,我在回来的时候放在一起,说明了这个问题


至于解决办法——你可以将文件放在云存储上,然后从那里播放,只要你不担心人们将文件热链接。

我会检查一下。然而,谷歌云存储需要计费,我没有启用……不,没有启用——每个应用程序都有云存储的免费配额。因此可能已经过时(“重要:谷歌云存储需要所有帐户的计费信息,然后才能开始使用该服务……”)。我会试试看。现在我已经试过你的测试网站了,chuncked的回复在Android上似乎很好。我仍然感到困惑…尝试了你的建议(谢谢!),请参阅问题更新。