diff options
| author | Björn Stenberg <bjorn@haxx.se> | 2007-01-08 23:53:00 +0000 |
|---|---|---|
| committer | Björn Stenberg <bjorn@haxx.se> | 2007-01-08 23:53:00 +0000 |
| commit | 7039a05147b8bbfc829babea1c65bd436450b505 (patch) | |
| tree | 4ba555eb84ed97b72b0575034d5b0530a393713e /songdbj/de/jarnbjo/util/audio/FadeableAudioInputStream.java | |
| parent | 6d4c19707ef95942e323cbdc89fbbfdbe45e7cc5 (diff) | |
| download | rockbox-7039a05147b8bbfc829babea1c65bd436450b505.zip rockbox-7039a05147b8bbfc829babea1c65bd436450b505.tar.gz rockbox-7039a05147b8bbfc829babea1c65bd436450b505.tar.bz2 rockbox-7039a05147b8bbfc829babea1c65bd436450b505.tar.xz | |
Splitting out songdbj
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11953 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'songdbj/de/jarnbjo/util/audio/FadeableAudioInputStream.java')
| -rw-r--r-- | songdbj/de/jarnbjo/util/audio/FadeableAudioInputStream.java | 62 |
1 files changed, 0 insertions, 62 deletions
diff --git a/songdbj/de/jarnbjo/util/audio/FadeableAudioInputStream.java b/songdbj/de/jarnbjo/util/audio/FadeableAudioInputStream.java deleted file mode 100644 index 4916102..0000000 --- a/songdbj/de/jarnbjo/util/audio/FadeableAudioInputStream.java +++ /dev/null @@ -1,62 +0,0 @@ -package de.jarnbjo.util.audio; - -import java.io.*; -import javax.sound.sampled.*; - -public class FadeableAudioInputStream extends AudioInputStream { - - private AudioInputStream stream; - private boolean fading=false; - private double phi=0.0; - - public FadeableAudioInputStream(AudioInputStream stream) throws IOException { - super(stream, stream.getFormat(), -1L); - } - - public void fadeOut() { - fading=true; - phi=0.0; - } - - public int read(byte[] b) throws IOException { - return read(b, 0, b.length); - } - - public int read(byte[] b, int offset, int length) throws IOException { - int read=super.read(b, offset, length); - - //System.out.println("read "+read); - - if(fading) { - int j=0, l=0, r=0; - double gain=0.0; - - for(int i=offset; i<offset+read; i+=4) { - j=i; - l=((int)b[j++])&0xff; - l|=((int)b[j++])<<8; - r=((int)b[j++])&0xff; - r|=((int)b[j])<<8; - - if(phi<Math.PI/2) { - phi+=0.000015; - } - - gain=Math.cos(phi); - //System.out.println("gain "+gain); - - l=(int)(l*gain); - r=(int)(r*gain); - - j=i; - b[j++]=(byte)(l&0xff); - b[j++]=(byte)((l>>8)&0xff); - b[j++]=(byte)(r&0xff); - b[j++]=(byte)((r>>8)&0xff); - } - } - - return read; - } - -}
\ No newline at end of file |