版本49中存在Chrome错误
这会影响我的应用程序,该应用程序基于此api http://soundcloud.lrdiv.co/(github repo https://github.com/lrdiv/ember-soundcloud)
基本上问题是Soundcloud Api使用soundmanager2作为基础处理音频流本身有2种模式flash和html5。问题是,如果Flash播放器可用,它将尝试使用它并失败,而如果它不可用,它将只使用html5并立即工作。
证明,如果您到这里 chrome:// plugins / 并停用Flash播放器,音频流将再次在Chrome中运行。
在这个讨论https://github.com/soundcloud/soundcloud-javascript/issues/39#issuecomment-206726301中,一个可能的临时黑客是检测chrome并在flash模式下返回false。
function d() {
var t, e, n, i;
if ("undefined" != typeof window.ActiveXObject)
try {
i = new window.ActiveXObject("ShockwaveFlash.ShockwaveFlash"),
i && (t = i.GetVariable("$version"))
} catch (r) {}
else
window.navigator && window.navigator.plugins && window.navigator.plugins.length > 0 && (n = "application/x-shockwave-flash",
e = window.navigator.mimeTypes,
e && e[n] && e[n].enabledPlugin && e[n].enabledPlugin.description && (t = e[n].enabledPlugin.description));
// @todo, chrome flash player bug, if under chrome, dont return true here, more info:
// https://github.com/soundcloud/soundcloud-javascript/issues/39
**if (!!window.chrome) {
return false
}**
return t
}
我想在我的sdk.js中做同样的事情,但不是很清楚,我必须阻止闪存流的chrome
答案 0 :(得分:1)
在我的sdk.js中我必须添加
soundManager.preferFlash = false;
不使用Flash插件作为音频播放器