如果 AUDIO 标签中的源无效,则回退到默认值

Posted

技术标签:

【中文标题】如果 AUDIO 标签中的源无效,则回退到默认值【英文标题】:Fallback to the default if source is invalid in AUDIO tag 【发布时间】:2012-04-04 17:13:53 【问题描述】:

所以我有一个基本的音频元素。假设我有一个 mp3 源。我正在使用火狐。浏览器看到音频标签,喜欢它,按指示放置控件,但不喜欢任何源,因此它不加载任何音频,但仍然忽略较小浏览器会显示的默认项目。

遗憾的是,我更希望浏览器在那时实际显示默认项目(比如下载 mp3 的链接),而不是显示不工作的音频控件。既然没有AudioElement.stuffThatsNotSRC,那我们怎么做呢?

所以我要做的是有一个 checkSources() 触发 onLoad 来查看 networkState,如果它找到 0 或 3,它会转到我在音频控件周围的 html 跨度,并用非- 来源音频标签内的内容。

有没有更好的方法来做到这一点?

【问题讨论】:

【参考方案1】:

使用源标签定义多种文件类型。

<audio controls="true">
    <source src="demo.mp3" type="audio/mp3"> 
    <source src="demo.ogg" type="audio/ogg"> 
    <source src="demo.aac" type="audio/mp4"> 
    <!-- If no support at all. -->
    HTML5 audio not supported 
</audio>

http://msdn.microsoft.com/en-us/library/gg589524(v=vs.85).aspx

【讨论】:

以上是关于如果 AUDIO 标签中的源无效,则回退到默认值的主要内容,如果未能解决你的问题,请参考以下文章

JavaScript 从Google CDN加载jQuery,但如果失败则回退到本地

php 使用ACF手动选择帖子,如果未选择一个帖子,则回退到随机帖子,排除所选帖子和当前帖子

php 使用ACF手动选择帖子,如果未选择一个帖子,则回退到随机帖子,排除所选帖子和当前帖子

Three.js 检测 webgl 支持并回退到常规画布

如果找不到图像则回退

如果未安装 Google 地图,我如何允许回退到 Apple 地图?