1

我在 AnySlider 幻灯片中放置了几个视频以及每个视频中的其他内容类型。除了 iPhone 3 和 iPhone 4 上的 iOS 之外,它们在我测试过的所有浏览器上都能正常运行。我使用的是 AnythingSlider 视频控制器 1.3 测试版(AnythingSlider 1.8.6 下载仍然附带的那个)。

如果我将 jquery.anythingslider.video.js 排除在外,视频将在 iPhone 上播放。问题是如果没有 video.js,放置在滑块内的任何视频即使在单击下一个/上一个并前进后仍将继续播放。如果视频没有音频(但我的一些视频有音频,所以当您查看完全不同的幻灯片时您仍然会听到它),这不会是一个缺点。

我在 jquery.anythingslider.video.js 中找到了关于 iOS 崩溃的问题。这似乎是由于此脚本使用的 Flash 处理而发生的。任何使用 Flash 的东西,即使它是 JS 中函数的一部分(或者很多时候仅用作后备),似乎都会让 iPhone 绊倒。

我的问题是:是否存在 jquery.anythingslider.video.js 的部分构建,它只会在幻灯片前进时自动停止视频,同时不包含 Flash 引用,以便它仍然可以成功地与 iOS 一起使用?

感谢您花时间阅读本文以及您可能有的任何意见。

4

1 回答 1

0

嗯,我不知道 iOS 在尝试访问 flash 时会崩溃,我得调查一下。

我不太确定您使用的是哪种视频,但如果它只是 HTML5 视频,那么视频 wiki 文档有一个示例,说明如何在没有扩展名的情况下控制 HTML5 视频 -演示

$('#slider').anythingSlider({
    // pause video when out of view
    onSlideInit: function(e, slider) {
        var vid = slider.$lastPage.find('video');
        if (vid.length && typeof(vid[0].pause) !== 'undefined') {
            vid[0].pause();
        }
    },
    // continue playing video if already started
    onSlideComplete: function(slider) {
        var vid = slider.$currentPage.find('video');
        if (vid.length && typeof(vid[0].pause) !== 'undefined' && vid[0].paused && vid[0].currentTime > 0 && !vid[0].ended) {
            vid[0].play();
        }
    },
    // pause slideshow if video is playing
    isVideoPlaying : function(slider){
        var vid = slider.$currentPage.find('video');
        return (vid.length && typeof(vid[0].pause) !== 'undefined' && !vid[0].paused && !vid[0].ended) ? true : false;
    }
});
于 2012-07-31T01:39:30.577 回答