Search in sources :

Example 6 with Clip

use of javax.sound.sampled.Clip in project openblocks by mikaelhg.

the class SoundManager method loadSound.

public static Sound loadSound(String soundFileName) {
    final URL url = SoundManager.class.getResource(soundFileName);
    if (url == null) {
        System.out.println("Could not find resource " + soundFileName);
        return null;
    }
    AudioInputStream audioInputStream;
    try {
        audioInputStream = AudioSystem.getAudioInputStream(url);
    } catch (UnsupportedAudioFileException e) {
        return null;
    } catch (IOException e) {
        return null;
    }
    final AudioFormat format = audioInputStream.getFormat();
    final Clip clip;
    try {
        DataLine.Info info = new DataLine.Info(Clip.class, format);
        clip = (Clip) AudioSystem.getLine(info);
        clip.open(audioInputStream);
    } catch (LineUnavailableException e) {
        System.out.println("Sorry, sound is not available");
        return null;
    } catch (IOException e) {
        return null;
    }
    return new Sound(clip);
}
Also used : AudioInputStream(javax.sound.sampled.AudioInputStream) Clip(javax.sound.sampled.Clip) UnsupportedAudioFileException(javax.sound.sampled.UnsupportedAudioFileException) DataLine(javax.sound.sampled.DataLine) LineUnavailableException(javax.sound.sampled.LineUnavailableException) IOException(java.io.IOException) AudioFormat(javax.sound.sampled.AudioFormat) URL(java.net.URL)

Example 7 with Clip

use of javax.sound.sampled.Clip in project intellij-community by JetBrains.

the class UIUtil method playSoundFromStream.

public static void playSoundFromStream(final Factory<InputStream> streamProducer) {
    new Thread(new Runnable() {

        // The wrapper thread is unnecessary, unless it blocks on the
        // Clip finishing; see comments.
        @Override
        public void run() {
            try {
                Clip clip = AudioSystem.getClip();
                InputStream stream = streamProducer.create();
                if (!stream.markSupported())
                    stream = new BufferedInputStream(stream);
                AudioInputStream inputStream = AudioSystem.getAudioInputStream(stream);
                clip.open(inputStream);
                clip.start();
            } catch (Exception ignore) {
                LOG.info(ignore);
            }
        }
    }, "play sound").start();
}
Also used : Clip(javax.sound.sampled.Clip) AudioInputStream(javax.sound.sampled.AudioInputStream) BufferedInputStream(java.io.BufferedInputStream) BufferedInputStream(java.io.BufferedInputStream) AudioInputStream(javax.sound.sampled.AudioInputStream) InputStream(java.io.InputStream) InvocationTargetException(java.lang.reflect.InvocationTargetException) IOException(java.io.IOException)

Example 8 with Clip

use of javax.sound.sampled.Clip in project jdk8u_jdk by JetBrains.

the class ClipSetPos method main.

public static void main(String[] args) {
    boolean testPassed = true;
    Clip clip = null;
    try {
        clip = (Clip) AudioSystem.getLine(new DataLine.Info(Clip.class, audioFormat));
        clip.open(audioFormat, dataBuffer, 0, dataBuffer.length);
    } catch (LineUnavailableException ex) {
        log(ex);
        log("Cannot test (this is not failure)");
        return;
    } catch (IllegalArgumentException ex) {
        log(ex);
        log("Cannot test (this is not failure)");
        return;
    }
    log("clip: " + clip.getClass().getName());
    int len = clip.getFrameLength();
    for (int pos = 0; pos < len; pos += (len / 100)) {
        clip.setFramePosition(pos);
        int curPos = clip.getFramePosition();
        if (Math.abs(pos - curPos) > MAX_FRAME_DELTA) {
            log("Tried to set pos to " + pos + ", but got back " + curPos);
            testPassed = false;
        } else {
            log("Sucessfully set pos to " + pos);
        }
    }
    clip.close();
    if (testPassed) {
        log("Test PASSED.");
    } else {
        log("Test FAILED.");
        throw new RuntimeException("Test FAILED (see log)");
    }
}
Also used : Clip(javax.sound.sampled.Clip) DataLine(javax.sound.sampled.DataLine) LineUnavailableException(javax.sound.sampled.LineUnavailableException)

Example 9 with Clip

use of javax.sound.sampled.Clip in project Minim by ddf.

the class JSMinim method getAudioRecordingClip.

/** @deprecated */
public AudioRecording getAudioRecordingClip(String filename) {
    Clip clip = null;
    AudioMetaData meta = null;
    AudioInputStream ais = getAudioInputStream(filename);
    if (ais != null) {
        AudioFormat format = ais.getFormat();
        if (format instanceof MpegAudioFormat) {
            AudioFormat baseFormat = format;
            format = new AudioFormat(AudioFormat.Encoding.PCM_SIGNED, baseFormat.getSampleRate(), 16, baseFormat.getChannels(), baseFormat.getChannels() * 2, baseFormat.getSampleRate(), false);
            // converts the stream to PCM audio from mp3 audio
            ais = getAudioInputStream(format, ais);
        }
        DataLine.Info info = new DataLine.Info(Clip.class, ais.getFormat());
        if (AudioSystem.isLineSupported(info)) {
            // Obtain and open the line.
            try {
                clip = (Clip) AudioSystem.getLine(info);
                clip.open(ais);
            } catch (Exception e) {
                error("Error obtaining Javasound Clip: " + e.getMessage());
                return null;
            }
            Map<String, Object> props = getID3Tags(filename);
            long lengthInMillis = -1;
            if (props.containsKey("duration")) {
                Long dur = (Long) props.get("duration");
                lengthInMillis = dur.longValue() / 1000;
            }
            meta = new MP3MetaData(filename, lengthInMillis, props);
        } else {
            error("File format not supported.");
            return null;
        }
    }
    if (meta == null) {
        // this means we're dealing with not-an-mp3
        meta = new BasicMetaData(filename, clip.getMicrosecondLength() / 1000, -1);
    }
    return new JSAudioRecordingClip(clip, meta);
}
Also used : TargetDataLine(javax.sound.sampled.TargetDataLine) DataLine(javax.sound.sampled.DataLine) SourceDataLine(javax.sound.sampled.SourceDataLine) AudioMetaData(ddf.minim.AudioMetaData) MpegAudioFormat(javazoom.spi.mpeg.sampled.file.MpegAudioFormat) LineUnavailableException(javax.sound.sampled.LineUnavailableException) MalformedURLException(java.net.MalformedURLException) UnsupportedAudioFileException(javax.sound.sampled.UnsupportedAudioFileException) IOException(java.io.IOException) FileNotFoundException(java.io.FileNotFoundException) Clip(javax.sound.sampled.Clip) AudioInputStream(javax.sound.sampled.AudioInputStream) AudioFormat(javax.sound.sampled.AudioFormat) MpegAudioFormat(javazoom.spi.mpeg.sampled.file.MpegAudioFormat)

Example 10 with Clip

use of javax.sound.sampled.Clip in project SimpleAsteroids by ljialin.

the class SoundManager method getClip.

public static Clip getClip(String filename) {
    Clip clip = null;
    try {
        clip = AudioSystem.getClip();
        AudioInputStream sample = AudioSystem.getAudioInputStream(new File(path + filename + ".wav"));
        clip.open(sample);
    } catch (Exception e) {
        e.printStackTrace();
    }
    return clip;
}
Also used : Clip(javax.sound.sampled.Clip) AudioInputStream(javax.sound.sampled.AudioInputStream) File(java.io.File)

Aggregations

Clip (javax.sound.sampled.Clip)10 AudioInputStream (javax.sound.sampled.AudioInputStream)6 LineUnavailableException (javax.sound.sampled.LineUnavailableException)5 IOException (java.io.IOException)4 DataLine (javax.sound.sampled.DataLine)4 AudioFormat (javax.sound.sampled.AudioFormat)3 UnsupportedAudioFileException (javax.sound.sampled.UnsupportedAudioFileException)2 AudioMetaData (ddf.minim.AudioMetaData)1 BufferedInputStream (java.io.BufferedInputStream)1 File (java.io.File)1 FileNotFoundException (java.io.FileNotFoundException)1 InputStream (java.io.InputStream)1 InvocationTargetException (java.lang.reflect.InvocationTargetException)1 MalformedURLException (java.net.MalformedURLException)1 URL (java.net.URL)1 SourceDataLine (javax.sound.sampled.SourceDataLine)1 TargetDataLine (javax.sound.sampled.TargetDataLine)1 MpegAudioFormat (javazoom.spi.mpeg.sampled.file.MpegAudioFormat)1