Position: 0
Total:0
Description:
Set sound fade in and fade out effect.
Result:
No sound effect when first play, because fade in is not set then. Fade in effect when seek and fade out effect when stop or plays to the end.
Code:
var source = null; // duration is the length of sound, in seconds var duration = null; var playing = false; function onload() { var engine = new jWebAudio.SoundEngine(); source = engine.addSoundSource({ 'url': '../../examples/resource/a.ogg', 'preLoad': true, 'callback': function() { source.sound.play(); duration = source.sound.duration; document.getElementById('totalSpan').innerHTML = Math.ceil(duration); document.getElementById('posInput').disabled = false; playing = true; document.getElementById('btn').disabled = false; // update position once per second setInterval(updatePos, 1000); // set fade here source.sound.setFadeIn(true, 5); // use default fading time, which is 3 source.sound.setFadeOut(true); }, 'loop': true }); } function posChange() { var pos = Math.min(document.getElementById('posInput') .value / 100 * duration, duration); // set position source.sound.seek(pos); } function updatePos() { var pos = source.sound.offset; //console.log(pos); document.getElementById('posInput').value = pos / duration * 100; document.getElementById('posSpan').innerHTML = Math.ceil(pos); } function play() { if (playing) { // stop document.getElementById('btn').innerHTML = 'Play'; source.sound.stop(); } else { // play document.getElementById('btn').innerHTML = 'Stop'; source.sound.play(); } playing = !playing; }