如何在我的Google App Engine网站上嵌入MP3?
我有一个系统,可以上传MP3文件到BlobStore,现在我想把这些文件嵌入到HTML5播放器中。问题是:我似乎无法直接获取到MP3文件的链接。我用过images.get_serving_url(blob_key)
,效果很好,但对于音频文件似乎没有类似的办法。
文档中解释了如何创建一个处理程序,可以从Blobstore提供任何文件,有两种稍微不同的方法:BlobstoreDownloadHandler和示例应用
这两种方法对我来说效果一样,你可以在这里看到结果:http://testgroovebug.appspot.com/v1/audioserve?resource=AMIfv96sdSSVnSIVZXGyeeGDs3ZjbH7dy4mZmeuU_bUPYxxPu9KHrgO-VC4cVxAAYE-MsZmyuBfVRmFHAnlxLxQxhLMpvfBbCRNPjuriSIBCwO5dLTVpo3ncOL7uQI8VBo8KddW19gtUUU_IUr2AN_Er6BZxTwnmvg
这应该是一首超过3分钟的歌曲,但通常只能听到前几秒。刷新页面后,播放的时间会随机变化(有时运气好能听到10秒!)。
通过curl获取的HTTP头信息看起来是这样的:
< HTTP/1.1 200 OK
< Cache-Control: no-cache
< Expires: Fri, 01 Jan 1990 00:00:00 GMT
< Content-Type: audio/mpeg
< Date: Wed, 19 Oct 2011 18:48:52 GMT
< Server: Google Frontend
< Transfer-Encoding: chunked
最终,我想能够使用某种嵌入式播放器。不过,以下代码在Firefox中显示的是一个大叉叉。
<audio src="..." controls="controls">
</audio>
1 个回答
0
- 确保每个人都能访问这些mp3文件。
- 由于版权问题,mp3文件在Firefox浏览器的音频标签中无法使用,所以你需要把文件存储为ogg格式,这样才能在Firefox上正常播放。