|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectezvcard.property.VCardProperty
ezvcard.property.BinaryProperty<SoundType>
ezvcard.property.Sound
public class Sound
A sound to attach to the vCard, such as a pronunciation of the person's name.
Adding a sound
VCard vcard = new VCard();
//URL
Sound sound = new Sound("http://www.mywebsite.com/myname.ogg", SoundType.OGG);
vcard.addSound(sound);
//binary data
byte data[] = ...
sound = new Sound(data, SoundType.OGG);
vcard.addSound(sound);
//if "SoundType" does not have the pre-defined constant that you need, then create a new instance
//arg 1: the value of the 2.1/3.0 TYPE parameter
//arg 2: the value to use for the 4.0 MEDIATYPE parameter and for 4.0 data URIs
//arg 3: the file extension of the data type (optional)
SoundType param = new SoundType("wav", "audio/wav", "wav");
sound = new Sound("http://www.mywebsite.com/myname.wav", SoundType.WAV);
vcard.addSound(sound);
Getting the sounds
VCard vcard = ...
int fileCount = 0;
for (Sound sound : vcard.getSounds()){
//the sound will have either a URL or a binary data
if (sound.getData() == null){
System.out.println("Sound URL: " + sound.getUrl());
} else {
SoundType type = sound.getContentType();
if (type == null) {
//the vCard may not have any content type data associated with the sound
System.out.println("Saving a sound file...");
} else {
System.out.println("Saving a \"" + type.getMediaType() + "\" file...");
}
String folder;
if (type == SoundType.OGG){ //it is safe to use "==" instead of "equals()"
folder = "ogg-files";
} else {
folder = "sound-files";
}
byte data[] = sound.getData();
String filename = "sound" + fileCount;
if (type != null && type.getExtension() != null){
filename += "." + type.getExtension();
}
OutputStream out = new FileOutputStream(new File(folder, filename));
out.write(data);
out.close();
fileCount++;
}
}
Property name: SOUND
Supported versions: 2.1, 3.0, 4.0
| Field Summary |
|---|
| Fields inherited from class ezvcard.property.BinaryProperty |
|---|
contentType, data, url |
| Fields inherited from class ezvcard.property.VCardProperty |
|---|
group, parameters |
| Constructor Summary | |
|---|---|
Sound(byte[] data,
SoundType type)
Creates a sound property. |
|
Sound(File file,
SoundType type)
Creates a sound property. |
|
Sound(InputStream in,
SoundType type)
Creates a sound property. |
|
Sound(String url,
SoundType type)
Creates a sound property. |
|
| Method Summary | |
|---|---|
String |
getLanguage()
Gets the language that the property value is written in. |
void |
setLanguage(String language)
Sets the language that the property value is written in. |
| Methods inherited from class ezvcard.property.BinaryProperty |
|---|
_validate, addPid, getAltId, getContentType, getData, getPids, getPref, getType, getUrl, removePids, setAltId, setContentType, setData, setPref, setType, setUrl |
| Methods inherited from class ezvcard.property.VCardProperty |
|---|
_supportedVersions, addParameter, compareTo, getGroup, getParameter, getParameters, getParameters, getSupportedVersions, removeParameter, setGroup, setParameter, setParameters, validate |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Constructor Detail |
|---|
public Sound(String url,
SoundType type)
url - the URL to the sound filetype - the content type (e.g. OGG)
public Sound(byte[] data,
SoundType type)
data - the binary data of the sound filetype - the content type (e.g. OGG)
public Sound(InputStream in,
SoundType type)
throws IOException
in - an input stream to the binary data (will be closed)type - the content type (e.g. OGG)
IOException - if there's a problem reading from the input stream
public Sound(File file,
SoundType type)
throws IOException
file - the sound filetype - the content type (e.g. OGG)
IOException - if there's a problem reading from the file| Method Detail |
|---|
public String getLanguage()
VCardProperty
VCardParameters.getLanguage()public void setLanguage(String language)
VCardProperty
language - the language or null to removeVCardParameters.setLanguage(java.lang.String)
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||