当前版本的Mozilla Firefox为23.0.1,此版本不支持play MP3 shoutcast streams from a TCP port different to 80(Shoutcast 1.9.8最常见的是8000)。
我在HTML5音频中没有MP3支持时使用Flash,检测方式是:
try{
var a = document.createElement('audio');
r = !!(a.canPlayType && !!a.canPlayType("audio/mpeg; codecs=mp3").replace(/^no$/,''))
}catch(e){
r = false;
}
在Firefox will be added in version 24中支持Mp3 shoutcast流。
a.canPlayType(“audio / mpeg; codecs = mp3”)=可能在Chrome和Firefox中,Chrome确实支持,firefox不支持,由于这个当前代码检测不适用于Firefox。
支持IE 6的当前版本的jQuery是1.10.2,这个版本没有.browser
我认为“风格化”的方式是测试功能而不是查询浏览器/版本,尽管在这里我看到很难不违反这个“原则”。
在Firefox中没有navigator.userAgent检测MP3 ICY支持的“程式化”方式是什么?
答案 0 :(得分:0)
没有复杂的方法来检测它。好消息是最后稳定的Firefox 24.0支持使用HTML5音频播放带有MP3的shoutcast流。检测我写的支持的最佳方法是:
function icy(){
try{
if(!navigator.userAgent.match(/Trident\/7\./) && $.browser.mozilla && $.browser.version < 24)
return false;//https://bugzilla.mozilla.org/show_bug.cgi?id=869725
var a = document.createElement('audio');
r = !!(a.canPlayType && !!a.canPlayType("audio/mpeg; codecs=mp3").replace(/^no$/,''))
}catch(e){
r = false;
}
return r;
}
如果您使用最新的jQuery 1.10.2,则需要包含jQuery Migrate plugin才能使用$ .browser