如何在我的Google App Engine网站上嵌入MP3?

1 投票
1 回答
694 浏览
提问于 2025-04-17 04:38

我有一个系统,可以上传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
  1. 确保每个人都能访问这些mp3文件。
  2. 由于版权问题,mp3文件在Firefox浏览器的音频标签中无法使用,所以你需要把文件存储为ogg格式,这样才能在Firefox上正常播放。

撰写回答