在2个不同的Div中播放/淡出声音

时间:2011-12-05 04:11:51

标签: javascript jquery

JQuery具有很好的视觉fadeIn / fadeOut函数,可以处理div等不同元素。声音需要同样的东西。

更确切地说,如果两个YouTube iFrame API播放器正在2个不同的div内播放,有没有办法淡出/淡出它们之间的声音?

2 个答案:

答案 0 :(得分:6)

尝试这样的事情,

$('<div/>').animate({ left: 100 }, {
     duration: 1000,
     step: function(now, fx){
    var volume = now;
        player.setVolume(volume)
     }
   });

step函数会在每次更改val时给你回调,你可以调用youtube播放器来设置音量。

我不确定youtube播放器能够以多快的速度响应音量集......但是这种方法可以让你像tween

一样拥有jquery div效果

fadeTo函数的使用示例

$('<div/>').fadeTo({
     duration: 1000,
     step: function(now, fx){
        var volume = now * 100;
        player.setVolume(volume)
     }
},1);

答案 1 :(得分:0)

这种技术称为交叉淡入淡出。如果YouTube API允许您访问音量控制(我从未使用过YouTube API播放器),那么至少应该进行线性交叉渐变(即不在曲线上)应该相对容易。但是,jQuery本身并不提供额外的抽象层来控制任何特定的媒体播放器(或一般的音频API)。