Media Element JS音频播放器无法在移动Safari中使用

时间:2014-11-06 08:28:27

标签: jquery iphone wordpress mediaelement.js

我正在网站上使用MEJS,它已集成到WordPress核心中。我在音频播放器方面遇到了问题,特别是在iPhone 5上的移动Safari上(我在iPhone 4上进行了测试,它工作正常,这很奇怪)。

问题是在iPhone 5上它无限地触发脚本mediaelement-and-player.min.js,所以我的JS从不运行,因为它正在等待on load事件。

如果我从时间线检查mejs代码,我发现它在这个功能上失败了:

c.media.addEventListener("loadedmetadata", function() {
    c.updateDuration && c.updateDuration();
    c.updateCurrent &&
    c.updateCurrent(); // this is the line it seems to fail on
    if (!c.isFullScreen) {
        c.setPlayerSize(c.width, c.height);
        c.setControlsSize()
    }
}, false);

正如我所说,当音频播放器存在时,我的JS都不会运行,因为页面永远不会加载。重要的是我用来显示播放器的代码如下:

$attr = array(
    'src' => $audio
);
echo wp_audio_shortcode($attr);

如果有人知道解决这个问题的方法会很棒!如果您需要更多信息,请告诉我们。

[编辑]

现在查看网络请求,似乎也无法下载音频文件,文件在请求列表中两次,每个都没有http状态,持续时间在0.2ms-0.5ms之间,对于全长的mp3曲目显然是不对的。

[编辑]

我也试过禁用所有插件并恢复默认主题,虽然一切看起来都正确加载并播放音频,如果你检查时间线仍然无法完成mediaelement-and-player.min.js文件的运行,这意味着如果在jQuery中有一个on load事件,它永远不会被解雇。

0 个答案:

没有答案