Ну, я сделал этот класс звука, который работает с клипами, и я заметил проблему с большими файлами. Я видел, что люди говорили о классе под названием BigClip , который является тем же самым, что и Clip, который способен обрабатывать большие файлы ...Где я могу получить BigClip?
Мой вопрос: где я могу получить этот класс .. Я заметил, что он не приходит с нормальным Java XD также, как я implent его в мой код ..
вот мой код:
package org.game.engine;
import java.io.File;
import java.io.IOException;
import javax.sound.sampled.AudioInputStream;
import javax.sound.sampled.AudioSystem;
import javax.sound.sampled.Clip;
import javax.sound.sampled.DataLine;
import javax.sound.sampled.LineUnavailableException;
import javax.sound.sampled.UnsupportedAudioFileException;
//Declaring all the fields
public class SoundEngine {
private Clip clip;
private AudioInputStream sound;
private boolean stoped = false;
private DataLine.Info info;
private File soundFile;
//Constructor for a sound
public SoundEngine(String filename) throws Exception {
// specify the sound to play
soundFile = new File(filename);
sound = AudioSystem.getAudioInputStream(soundFile);
// load the sound into a clip
info = new DataLine.Info(Clip.class, sound.getFormat());
clip = (Clip) AudioSystem.getLine(info);
System.out.println(Integer.toString(clip.getBufferSize()));
clip.open(sound);
}
//Method do start/play the sound once
public void start() throws LineUnavailableException, IOException, UnsupportedAudioFileException{
if (stoped) {
sound = AudioSystem.getAudioInputStream(soundFile);
info = new DataLine.Info(Clip.class, sound.getFormat());
clip = (Clip) AudioSystem.getLine(info);
clip.open(sound);
stoped = false;
}
clip.start();
}
//Method do pause the sound
public void pause() {
clip.stop();
}
//Method to fully stop the sound
public void stop() {
//make sure sound reloads it self because of the full stop
stoped = true;
//closes and drains
clip.close();
clip.drain();
}
//Methd for looping sounds
public void loop() throws UnsupportedAudioFileException, LineUnavailableException, IOException {
if (stoped) {
//reloads the sound incase the sound is fully stoped
sound = AudioSystem.getAudioInputStream(soundFile);
info = new DataLine.Info(Clip.class, sound.getFormat());
clip = (Clip) AudioSystem.getLine(info);
clip.open(sound);
stoped = false;
}
//starts the looping
clip.loop(Clip.LOOP_CONTINUOUSLY);
}
}
В Guns & Ammo? –
Спрашивайте @ [Andrew Thompson] (http://stackoverflow.com/users/418556/andrew-thompson), так как он разработал его – MByD
как мне его узнать? – Amit