1

Mozilla Firefox 的当前版本是 23.0.1,此版本不支持从不同于 80 的 TCP 端口播放 MP3 广播流(最常见的是 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中对 Mp3 广播流的支持将在版本 24 中添加

a.canPlayType("audio/mpeg; codecs=mp3") = 可能在 Chrome 和 Firefox 中,Chrome 确实支持,firefox 不支持,因此当前的代码检测不适用于 Firefox。

当前支持 IE 6 的 jQuery 版本是 1.10.2,这个版本没有 .browser

我认为“风格化”的方式是测试功能而不是查询浏览器/版本,尽管在这里我很难不违反这个“原则”。

在 Firefox 中没有 navigator.userAgent 检测 MP3 ICY 支持的“风格化”方法是什么?

4

1 回答 1

1

没有复杂的方法来检测它。好消息是最后一个稳定的 Firefox 24.0 支持播放带有 HTML5 音频的 MP3 广播流。检测我写的支持的最佳方法:

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 插件才能使用 $.browser

于 2013-10-11T15:33:49.857 回答