1 package org.rpi.mplayer;
2
3
4
5
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
24
25 }
26
27 @Override
28 public void loaded() {
29
30
31 }
32
33
34
35
36
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
61
62
63
64
65
66
67
68
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
127
128
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
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 }