KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > mmbase > applications > media > builders > AudioSources


1 /*
2   
3 This software is OSI Certified Open Source Software.
4 OSI Certified is a certification mark of the Open Source Initiative.
5   
6 The license (Mozilla version 1.0) can be read at the MMBase site.
7 See http://www.MMBase.org/license
8   
9 */

10
11 package org.mmbase.applications.media.builders;
12
13 import org.mmbase.util.logging.Logger;
14 import org.mmbase.util.logging.Logging;
15 import org.mmbase.module.core.MMObjectNode;
16
17 /**
18  *
19  * The AudioSource builder describes a specific type of audio that can be retrieved (real/mp3/etc). Information about
20  * format, quality, and status will be maintained in this object. An AudioSource belongs
21  * to a MediaFragement that describes the piece of media, the AudioSource is the
22  * actually audio itself. An AudioSource is connected to provider objects that indicate
23  * where the audio files can be found.
24  *
25  * @author Rob Vermeulen
26  * @author Michiel Meeuwissen
27  * @version $Id: AudioSources.java,v 1.5 2005/11/23 15:45:13 pierre Exp $
28  * @since MMBase-1.7
29  */

30 public class AudioSources extends MediaSources {
31     private static Logger log = Logging.getLoggerInstance(AudioSources.class);
32     
33     /**
34      * Creates a new audiosource and relates it to an audiofragment.
35      *
36      * @param audiofragment the audiofragment to relate this new audiosource to.
37      * @return The new created audiofragment.
38      */

39     public MMObjectNode addAudioSource(MMObjectNode audiofragment, int format, int codec, int bitrate, int channels, String JavaDoc url, int state, String JavaDoc owner) {
40                 
41     MMObjectNode node=getNewNode(owner);
42     node.setValue("format",format);
43     node.setValue("codec",codec);
44     node.setValue("bitrate",bitrate);
45     node.setValue("channels",channels);
46     node.setValue("url",url);
47         node.setValue("state",state);
48     int audioSourceNumber = insert(owner,node);
49         if(audioSourceNumber<0) {
50             log.error("Cannot create a new audiosource.");
51             return null;
52         } else {
53             log.debug("New audiosource created.");
54         }
55         
56         // create relation between audiofragment and new audiosource
57
MMObjectNode insrel = mmb.getInsRel().getNewNode(owner);
58         insrel.setValue("snumber", audiofragment.getValue("number"));
59         insrel.setValue("dnumber", audioSourceNumber);
60         insrel.setValue("rnumber", mmb.getInsRel().getNumber());
61         int insrelnumber = insrel.insert(owner);
62         if(insrelnumber<0) {
63             log.error("Cannot create relation between audiosource and audiofragment.");
64         } else {
65             log.debug("New relation between audiosource and audiofragment is created.");
66         }
67         return node;
68     }
69 }
70
Popular Tags