View Javadoc

1   package org.rpi.mplayer;
2   
3   /**
4    * Used to abstract the differences between the different playes
5    * with mplayer we start a new instance for each track
6    */
7   
8   import java.util.Observable;
9   import java.util.Observer;
10  
11  import org.apache.log4j.Logger;
12  import org.rpi.player.IPlayer;
13  import org.rpi.player.IPlayerController;
14  import org.rpi.playlist.CustomTrack;
15  
16  public class MPlayerController extends Observable implements IPlayerController, Observer {
17  
18  	IPlayer mPlayer = null;
19  	private static Logger log = Logger.getLogger(MPlayerController.class);
20  
21  	@Override
22  	public void preLoadTrack(CustomTrack track) {
23  		// TODO Auto-generated method stub
24  
25  	}
26  
27  	@Override
28  	public void loaded() {
29  		// TODO Auto-generated method stub
30  
31  	}
32  
33  	// @Override
34  	// public boolean playTrack(CustomTrack track, long volume, boolean mute) {
35  	// // TODO Auto-generated method stub
36  	// return false;
37  	// }
38  
39  	@Override
40  	public void openFile(CustomTrack track) {
41  		mPlayer.openFile(track);
42  	}
43  
44  	@Override
45  	public void playThis(CustomTrack t, long v, boolean bMute) {
46  		if (t != null) {
47  
48  			log.debug("Destroy current MPlayer");
49  			if (mPlayer != null) {
50  				mPlayer.destroy();
51  				mPlayer = null;
52  			}
53  			mPlayer = new MPlayer();
54  			mPlayer.addObserver(this);
55  			mPlayer.playTrack(t, v, bMute);
56  		}
57  
58  	}
59  
60  //	@Override
61  //	public void playIndex(long index) {
62  //		// TODO Auto-generated method stub
63  //
64  //	}
65  
66  //	@Override
67  //	public void play() {
68  //		// TODO Auto-generated method stub
69  //
70  //	}
71  
72  	@Override
73  	public void pause(boolean bPause) {
74  		if(mPlayer!=null)
75  		{
76  			mPlayer.pause(bPause);
77  		}
78  
79  	}
80  
81  	@Override
82  	public void resume() {
83  		if(mPlayer!=null)
84  			mPlayer.resume();
85  	}
86  
87  	@Override
88  	public void stop() {
89  		if(mPlayer !=null)
90  			mPlayer.stop();
91  
92  	}
93  
94  	@Override
95  	public void destroy() {
96  		if (mPlayer != null)
97  		{
98  			log.debug("Attempt to Destroy MPlayer");
99  			mPlayer.destroy();
100 		}
101 	}
102 
103 	@Override
104 	public void setMute(boolean mute) {
105 		if (mPlayer != null)
106 			mPlayer.setMute(mute);
107 
108 	}
109 
110 	@Override
111 	public void setVolume(long volume) {
112 		if (mPlayer != null)
113 			mPlayer.setVolume(volume);
114 
115 	}
116 
117 	@Override
118 	public void seekAbsolute(long seconds) {
119 		if (mPlayer != null)
120 			mPlayer.seekAbsolute(seconds);
121 
122 	}
123 
124 
125 
126 	// @Override
127 	// public void startTrack() {
128 	// mPlayer.startTrack();
129 	//
130 	// }
131 
132 	@Override
133 	public boolean isPlaying() {
134 		if (mPlayer != null) {
135 			return mPlayer.isPlaying();
136 		}
137 		return false;
138 	}
139 
140 	@Override
141 	public String getUniqueId() {
142 		// TODO Auto-generated method stub
143 		return null;
144 	}
145 
146 	@Override
147 	public void update(Observable arg0, Object obj) {
148 		setChanged();
149 		notifyObservers(obj);
150 	}
151 
152 	@Override
153 	public boolean isActive() {
154 		if (mPlayer != null) {
155 			return true;
156 		}
157 		return false;
158 	}
159 
160 }