1 package org.rpi.mplayer;
2
3 import org.apache.log4j.Logger;
4
5 public class PositionThread extends Thread {
6
7 private MPlayer mPlayer = null;
8 private Logger log = Logger.getLogger(PositionThread.class);
9 private boolean bNewTrack = true;
10
11 public PositionThread(MPlayer mPlayer) {
12 this.setName("PT-" + mPlayer.getUniqueId());
13 setNewTrack(true);
14 this.mPlayer= mPlayer;
15 }
16
17
18 @Override
19 public void run() {
20 try {
21 while (!isInterrupted()) {
22 if (!mPlayer.isbPaused()) {
23 try
24 {
25 mPlayer.getCommandWriter().sendCommand("get_time_pos");
26 if (!mPlayer.getTrackInfo().isSet()) {
27 mPlayer.getCommandWriter().sendCommand("get_time_length");
28 mPlayer.getCommandWriter().sendCommand("get_audio_bitrate");
29 mPlayer.getCommandWriter().sendCommand("get_audio_codec");
30 mPlayer.getCommandWriter().sendCommand("get_audio_samples");
31 }
32 }
33 catch(Exception e)
34 {
35 log.error("Error Writing Command: ", e);
36 }
37 }
38 Thread.sleep(1000);
39 }
40 } catch (InterruptedException e) {
41 log.debug("Error in Postion Thread: " + e.getMessage());
42 } finally {
43 log.debug("Closing Position Thread");
44 }
45 }
46
47
48
49
50
51
52
53
54
55
56
57
58 public void setNewTrack(boolean bNewTrack) {
59 this.bNewTrack = bNewTrack;
60 }
61
62 }