|
||||||||||
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 streampublic 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 fileMethod 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 |