1

AnythingSlider スライド内にいくつかのビデオを配置し、それぞれに他のコンテンツ タイプを配置しました。iPhone 3 と iPhone 4 の iOS を除いて、私がテストしたすべてのブラウザーで正常に再生されます。

jquery.anythingslider.video.js を式から外すと、ビデオは iPhone で再生されます。問題は、video.js がないと、スライダー内に配置されたビデオが、次へ/前へをクリックして進んだ後でも引き続き再生されることです。ビデオに音声が含まれていなくても、それほど問題にはなりません (ただし、一部のビデオには音声が含まれているため、まったく別のスライドを表示しているときに音声が聞こえます)。

iOS のクラッシュに関する jquery.anythingslider.video.js の問題を追跡しました。このスクリプトで使用される Flash 処理が原因で発生するようです。Flash を使用するものはすべて、JS の関数の一部であっても (または、フォールバックとしてのみ使用される場合が多い)、iPhone をつまずかせるようです。

私の質問は次のとおりです:iOSで正常に使用できるように、Flash参照を含まずに、スライドの進行時にのみビデオを自動的に停止するjquery.anythingslider.video.jsの部分的なビルドはありますか?

時間を割いてこれを読んでいただき、またご意見をお寄せいただきありがとうございます。

4

1 に答える 1

0

うーん、フラッシュにアクセスしようとすると iOS がクラッシュすることを知りませんでした。調べてみる必要があります。

使用しているビデオの種類はよくわかりませんが、それが 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 に答える