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;
            }