Javascript 嵌入音频mp3而不使用Flash
在html页面中嵌入音频mp3的好方法是什么,不使用flash,而是使用自定义外观? 此外,它还可以部分地在较旧的浏览器中工作您应该看看。 如果浏览器支持HTML5,它将使用HTML5,但如果必须,它将降级为使用flash。最棒的是,它有一个API,无论哪种方式都是一样的。我已经在一些项目中使用了这个工具,它是惊人的 下面是他们的描述 问题:浏览器缺乏良好、一致的本机音频支持。(HTML5的Audio()是未来,但仍在开发中。) 解决方案:通过外部接口使用HTML5 Audio()+无头Flash的Javascript API,几乎在任何地方都可以使用。如果支持HTML5,但不支持“非免费”MP3/MP4格式,则使用flash作为备用 SoundManager 2包装和扩展了Flash和HTML音频API,为Javascript提供了一个统一的声音API;无论最终是使用HTML还是Flash播放声音,API都是一样的。(闪存部分是隐藏的,对开发人员和最终用户都是透明的。)Javascript 嵌入音频mp3而不使用Flash,javascript,html,audio,Javascript,Html,Audio,在html页面中嵌入音频mp3的好方法是什么,不使用flash,而是使用自定义外观? 此外,它还可以部分地在较旧的浏览器中工作您应该看看。 如果浏览器支持HTML5,它将使用HTML5,但如果必须,它将降级为使用flash。最棒的是,它有一个API,无论哪种方式都是一样的。我已经在一些项目中使用了这个工具,它是惊人的 下面是他们的描述 问题:浏览器缺乏良好、一致的本机音频支持。(HTML5的Audio()是未来,但仍在开发中。) 解决方案:通过外部接口使用HTML5 Audio()+无头Flas
如果您想在旧浏览器中使用它,则必须提供闪存回退。例如,你可以用它来做。jPlayer支持:
- HTML5:mp3、m4a(AAC)、m4v(H.264)、ogv、oga、wav、webm
- 闪存:mp3、m4a(AAC)、m4v(H.264)
目前没有解决方案,除非声音是作为用户操作的直接结果播放(单击) 支持HTML5
元素的浏览器。要求您提供三种不同格式的音频
if("Audio" in window){
var a = new Audio();
if(!!(a.canPlayType && a.canPlayType('audio/ogg; codecs="vorbis"').replace(/no/, '')))
a.src = "/sounds/ping.ogg";
else if(!!(a.canPlayType && a.canPlayType('audio/mpeg;').replace(/no/, '')))
a.src = "/sounds/ping.mp3";
else if(!!(a.canPlayType && a.canPlayType('audio/mp4; codecs="mp4a.40.2"').replace(/no/, '')))
a.src = "/sounds/ping.m4a";
else
a.src = "/sounds/ping.mp3";
a.autoplay = true;
return;
}
如果你正在处理IE我已经创建了一个JQuery声音插件,它基于上面jessegavin提到的Thomas Fuchs文章。你可以在
请使用、滥用和贡献 嗯,我必须说,这真的很好。。。我的问题是我正试图为一家大型杂志公司做这件事,我不确定我们是否被允许使用像这样的第三方工具。。。不过我还是会调查的。它是开源的,所以你至少可以从中学习一些东西。你会发现这个问题在跨浏览器环境下不容易解决!我能问一下吗:如何设置自动播放、循环、无控件等属性?似乎不起作用。我得到的只是一个警报(你有与它工作的链接吗?
<bgsound src="/sounds/ping.mp3" loop="1" autostart="autostart">
// this code uses Prototype.js
if(navigator.plugins && $A(navigator.plugins).detect(function(p){ return p.name.indexOf('QuickTime') != -1 }))
Sound.template = new Template('<object id="sound_#{track}_#{id}" width="0" height="0" type="audio/mpeg" data="#{url}"/>');
else if(navigator.plugins && $A(navigator.plugins).detect(function(p){ return p.name.indexOf('Windows Media') != -1 }))
Sound.template = new Template('<object id="sound_#{track}_#{id}" type="application/x-mplayer2" data="#{url}"></object>');
else if(navigator.plugins && $A(navigator.plugins).detect(function(p){ return p.name.indexOf('RealPlayer') != -1 }))
Sound.template = new Template('<embed type="audio/x-pn-realaudio-plugin" style="height:0" id="sound_#{track}_#{id}" src="#{url}" loop="false" autostart="true" hidden="true"/>');