final/src/SoundWrapper.java

30 lines
1.0 KiB
Java

import javax.sound.sampled.LineUnavailableException;
import javax.sound.sampled.UnsupportedAudioFileException;
import java.io.*;
public class SoundWrapper implements Serializable {
transient public Sound sound;
public String soundString;
// please note that not as many constructors were implemented as BufferedImage, as this class was created before most sounds were added;
// as such, backwards compatibility was not needed
public SoundWrapper(String soundLocation) throws UnsupportedAudioFileException, LineUnavailableException, IOException {
sound = new Sound(soundLocation);
soundString = soundLocation;
}
public SoundWrapper() {}
@Serial
private void writeObject(ObjectOutputStream out) throws IOException {
out.writeObject(soundString);
}
@Serial
private void readObject(ObjectInputStream in) throws IOException, ClassNotFoundException, UnsupportedAudioFileException, LineUnavailableException {
Object o;
o = in.readObject();
sound = new Sound((String)o);
}
}