我使用BlobStore从我的GAE应用程序提供音频文件(包含短未压缩PCM的WAV文件)。
在点击活动中,我设置audio.src
并致电audio.play()
。
现在这里有一个奇怪的部分:
没有显示错误 - 它只是没有播放。 据我所知,GAE日志中,音频文件 在所有情况下均可用。 在Android的情况下,我可以看到来自" Player / LG Player 1.0 for Android 4.4.2(stagefright alternative)"的请求。
知道发生了什么,或者如何调试它?
根据Stuart Langley的建议,尝试播放来自Google云端存储的文件 在这种情况下, Android播放效果良好,IOS不会(间歇性播放。有时会出错)。
因此,对我有用的解决方法是将文件存储在云存储上,并调用createGsBlobKey
以将其作为blob提供。
在客户端,我检查它是否是Android(navigator.userAgent.match(/Android/i)
)。在Android的情况下,我将audio.src
设置为云存储文件,并且在IOS的情况下,我将其设置为我的servlet,该servlet使用BlobstoreService.serve
使用我从createGsBlobKey
获得的blob密钥来提供文件
这是一个繁琐的解决方法,我没有检查其他移动操作系统,看看哪个有用,所以如果有人有更好的解决方案,请告诉我。