annotate audio/java/StreamSink.java @ 61:eff6bddf82e3
tip
Finally implemented perceptual brightness thing.
author |
samer |
date |
Sun, 11 Oct 2015 10:20:42 +0100 |
parents |
63cefb01cbab |
children |
|
rev |
line source |
samer@0
|
1 /*
|
samer@0
|
2 * StreamSink.java
|
samer@0
|
3 *
|
samer@0
|
4 * Copyright (c) 2000, Samer Abdallah, King's College London.
|
samer@0
|
5 * All rights reserved.
|
samer@0
|
6 *
|
samer@0
|
7 * This software is provided AS iS and WITHOUT ANY WARRANTY;
|
samer@0
|
8 * without even the implied warranty of MERCHANTABILITY or
|
samer@0
|
9 * FITNESS FOR A PARTICULAR PURPOSE.
|
samer@0
|
10 */
|
samer@0
|
11
|
samer@46
|
12 package ishara.audio;
|
samer@0
|
13
|
samer@0
|
14 import javax.sound.sampled.*;
|
samer@0
|
15 import java.io.*;
|
samer@0
|
16
|
samer@0
|
17 import org.tritonus.share.sampled.AudioSystemShadow;
|
samer@0
|
18 import org.tritonus.share.sampled.file.AudioOutputStream;
|
samer@0
|
19
|
samer@0
|
20 /**
|
samer@0
|
21 An AudioSink that writes to an OutputStream
|
samer@0
|
22 */
|
samer@0
|
23
|
samer@0
|
24 public class StreamSink extends AudioSink
|
samer@0
|
25 {
|
samer@0
|
26 AudioOutputStream out;
|
samer@0
|
27
|
samer@0
|
28 public StreamSink(AudioOutputStream stream) { super(stream.getFormat()); out=stream; }
|
samer@0
|
29
|
samer@0
|
30 public void dispose() {
|
samer@0
|
31 try { out.close(); }
|
samer@0
|
32 catch (IOException ex) { print("*** Error closing: "+ex); }
|
samer@0
|
33 }
|
samer@0
|
34
|
samer@0
|
35 public void stop() {}
|
samer@0
|
36 public void start() {}
|
samer@0
|
37 public int bwrite(byte []buf, int off, int n) throws Exception { return out.write(buf, off, n); }
|
samer@0
|
38
|
samer@0
|
39 public String toString() { return "StreamSink: "+getFormat(); }
|
samer@0
|
40
|
samer@0
|
41 public static AudioOutputStream wavOutputStream(OutputStream stream, AudioFormat fmt) throws Exception {
|
samer@0
|
42 // could alse have raw output stream
|
samer@0
|
43 return AudioSystemShadow.getAudioOutputStream(
|
samer@0
|
44 AudioFileFormat.Type.WAVE,fmt,AudioSystem.NOT_SPECIFIED,stream);
|
samer@0
|
45 }
|
samer@0
|
46 }
|