Jquery Mediaelement.js,使用API将动画计时到音频

Jquery Mediaelement.js,使用API将动画计时到音频,jquery,mediaelement.js,Jquery,Mediaelement.js,我正试图根据我在音轨中的位置播放一些jQuery动画。我需要将大量的“飞信”与音频音轨相匹配(类似于Flash/Powerpoint风格) 我正在使用mediaelement.js: 我如何将动画计时到音频?在我的小提琴中,他们都跑,但他们没有绑在一起。因此,如果音频加载缓慢,动画将不同步。反之亦然 小提琴: 也许我可以使用mediaelement API中的currentTime(get)或progress(),但我总是得到未定义的值 function fadein() {

我正试图根据我在音轨中的位置播放一些jQuery动画。我需要将大量的“飞信”与音频音轨相匹配(类似于Flash/Powerpoint风格)

我正在使用mediaelement.js:

我如何将动画计时到音频?在我的小提琴中,他们都跑,但他们没有绑在一起。因此,如果音频加载缓慢,动画将不同步。反之亦然

小提琴

也许我可以使用mediaelement API中的currentTime(get)或progress(),但我总是得到未定义的值

    function fadein() {

    //var audiotime = player.currentTime(get);
    //alert (audiotime);

    var t = $('.activeslide').find('.animated').data('times');
    if (t) {
        $('.animated').find('.fadein').hide();
        var anima = $('.activeslide').find('.animated').find('.fadein');
            var i;
            for (i = 0; i < t.length; i++) {
                 anima.eq(i).delay(t[i]).fadeIn(220);
            }
    }
}
函数fadein(){
//var audiotime=播放器当前时间(get);
//警报(音频时间);
var t=$('.activeslide')。查找('.animated')。数据('times');
if(t){
$('.animated').find('.fadein').hide();
var anima=$('.activeslide').find('.animated').find('.fadein');
var i;
对于(i=0;i
希望我在聚会上没有迟到:)

你能做的就是

(function ($) {
    $('.fadein').hide();

    //player
    var player = new MediaElementPlayer('#player', {
        pauseOtherPlayers: true,
        success: function (mediaElement, domObject) {
            var lastUpdatedT = 0;
            mediaElement.addEventListener('pause', function (e) {
            }, false);

            mediaElement.addEventListener('timeupdate', function (e) {

                if (mediaElement.paused) return;

                if (typeof fadein == "function") {
                    var currentT = Math.floor(mediaElement.currentTime);

                    if (!(currentT == lastUpdatedT)) {
                        fadein(currentT);
                        lastUpdatedT = currentT;
                    }
                }
            }, false);

            // call the play method
            mediaElement.play();
        },
        error: function () {}
    });
    player.pause();
    player.play();


    //animation
    function fadein(time) {
        var t = $('.activeslide').find('.animated').data('times');
        var cIndex = $.inArray(time, t);

        if (cIndex >= 0) {
            //Uncomment below if you want to show animation in same single line or you can also have a fade out time array
            //$('.animated').find('.fadein').hide();
            var anima = $('.activeslide').find('.animated').find('.fadein');
            anima.eq(cIndex).show();
        }
    }

})(jQuery);

太棒了,女孩!如果你去的话,你也可以用ie8来实现吗?我想它正在ie8中加载Flash或Silverlight。我对ie8有个严重的问题,使我的派对崩溃了如果你能让它与“搜索”按钮也工作,那么你应该张贴它作为一个插件!