use*_*852 5 html5 google-app-engine ios html5-audio
我正在努力获得简单的音频播放。我有一个曲目列表,每个曲目都有一个唯一的URL,当用户按下相关的播放按钮时,我想播放这些曲目。我已经尝试过soundmanager2和jplayer,但无法在我的用例(台式浏览器和ios)上使用。我已经回到使用代码的html5如下
<audio controls>
<source src="/path/to/file" type="audio/wav">
Your browser does not support the audio element.
</audio>
Run Code Online (Sandbox Code Playgroud)
这在台式机Chrome和台式机Safari中非常有效。在ios chrome和ios Safari(最新)中,不会显示播放器,而是会在灰色框中显示一条消息,提示“无法播放音频文件”。
我是否正确使用此标签?我该如何克服这些错误?
我正在从Google Appengine发送WAV文件(作为Blob)。我发现,除非我将.wav添加到src的末尾,否则safari无法播放-尽管src只是指向文件的间接链接。返回的实际文件确实以.wav结尾,但Safari不够智能,无法识别出该文件。
以下内容适用于所有浏览器(如上所述)-因此它并不特定于wav文件。
<audio controls preload="metadata">
<source src="http://www-mmsp.ece.mcgill.ca/Documents/AudioFormats/WAVE/Samples/AFsp/M1F1-Alaw-AFsp.wav" type="audio/wav">
Your browser does not support the audio element.
</audio>
Run Code Online (Sandbox Code Playgroud)
我已经从Google App Engine发送文件作为MIME附件和原始响应,但这没什么区别。
我换了一个更长的wav文件(http://www.villagegeek.com/downloads/webwavs/ever_again.wav),这也无法播放(在ios上)。目前尚不清楚是因为长度,大小还是其他一些变量。
我已经排除了大小问题,因为此24s WAV文件有效
<audio controls preload="auto">
<source src="http://www.dailywav.com/sites/default/files/wavs/dontlikelaughing.wav" type="audio/wav">
Your browser does not support the audio element.
</audio>
Run Code Online (Sandbox Code Playgroud)
因此,我正在从Google云存储桶中提供文件。保存文件时,我未指定MIME类型,因此将其作为二进制/八位字节流返回。桌面浏览器足够聪明,可以克服这一问题,而移动浏览器则不能。
所以我从谷歌云存储桶中提供文件。保存文件时,我没有指定 MIME 类型,因此它以二进制/八位字节流的形式返回。桌面浏览器足够智能,可以克服这个问题,但移动浏览器却不能。因此,上述问题的答案是在写入 GCS 时设置相关文件的 MIME 类型。
| 归档时间: |
|
| 查看次数: |
4762 次 |
| 最近记录: |