所以我有這個應用程序,每當我循環播放我的聲音時都需要淡入淡出效果,以便轉換順暢。試圖在SoundManager 2環路中實現交叉淡入淡出
我使用SoundManager類2
更新的代碼:
$(document).ready(function() {
alert("Testing sound");
soundManager.flashVersion = 9;
soundManager.url = '/assets/soundmanager/swf/';
soundManager.onready(function(){
soundManager.createSound({
id:"EngineIdle",
url:"/assets/sounds/EngineIdle.ogg",
stream: true,
autoPlay: true,
multiShot: false,
volume: 0,
onplay:function() {
var fadingin = setInterval(fadein, 20);
},
onfinish:function() {
clearInterval('fadingout'); //We declared the interval as a variable earlier so we can cancel it
soundManager.play('EngineIdle');
}
});
var FadeOutTime = 2;
soundManager.onPosition('EngineIdle', FadeOutTime, function(){var fadingout = setInterval(fadeout, 20)});
});
function fadein() {
var s = soundManager.getSoundById('EngineIdle');//Again, unoptimal
if (s.volume == 100) {
clearInterval('fadingin');
return
}
s.setVolume(s.volume + 20);
}
function fadeout() {
var s = soundManager.getSoundById('EngineIdle'); //This is unoptimal to call each time, but you can fix that
if (s.volume > 0) {
s.setVolume(s.volume - 20);
}
}
});
我如何能得到每個過渡之間的交叉衰落上相同的聲音循環的任何想法?
謝謝,我會在幾天內對它進行測試,並讓您知道它是怎麼回事 – psychok7
我更新了上面的代碼並更改了您的更改。它運作得好一點,但仍然沒有「平穩」的預期效果。你能幫忙嗎? – psychok7
爲了更平滑,我只是讓時間不同,所以它開始更快地消失,並漸漸變慢。如果你把我的音頻文件夾到我身邊,看看我能不能找到它更好 –