VLC werkt! Volume is ook toegevoegd.

This commit is contained in:
Bram Veenboer
2011-03-16 15:05:12 +00:00
parent 8711eb2975
commit 553f771899

View File

@@ -1,6 +1,7 @@
package pm.application.vlc; package pm.application.vlc;
import java.io.IOException; import java.io.IOException;
import java.net.HttpURLConnection;
import java.net.MalformedURLException; import java.net.MalformedURLException;
import java.net.URL; import java.net.URL;
@@ -11,13 +12,16 @@ import pm.value.Action;
public class VLCApplication extends CMDApplication { public class VLCApplication extends CMDApplication {
protected final static String PROGRAM = "vlc.exe"; protected final static String PROGRAM = "vlc.exe";
protected final static String TITLE = "VLC media player"; protected final static String TITLE = "VLC media player";
protected static final int POSTION_CHANGE_RATE = 1; protected static final int POSTION_CHANGE_RATE = 1;
protected static final int VOLUME_CHANGE_RATE = 20; protected static final int VOLUME_CHANGE_RATE = 20;
protected static final String HOST = "127.0.0.1"; // localhost protected static final String HOST = "127.0.0.1"; // localhost
protected static final int PORT = 8080; protected static final int PORT = 8080;
protected int volume = 255;
protected boolean muted = false;
public VLCApplication() { public VLCApplication() {
super(PROGRAM, TITLE); super(PROGRAM, TITLE);
} }
@@ -26,20 +30,19 @@ public class VLCApplication extends CMDApplication {
super.initialise(); super.initialise();
} }
public void command(String command) { public void command(String command) {
String url = "http://" + HOST + ":" + PORT; String request = "http://" + HOST + ":" + PORT + "/requests/status.xml?command=" + command;
String request = "/requests/status.xml?command=" + command; try {
System.out.println(url + request); int response = ((HttpURLConnection)(new URL(request)).openConnection()).getResponseCode();
try { //System.out.printf("Response: %d\n", response);
new URL(url + request + "\r\n\n").openConnection();
} catch (MalformedURLException e) { } catch (MalformedURLException e) {
e.printStackTrace(); e.printStackTrace();
} catch (IOException e) { } catch (IOException e) {
e.printStackTrace(); e.printStackTrace();
} }
} }
public void action(Action action) { public void action(Action action) {
System.out.println("VLCApplication: " + action); System.out.println("VLCApplication: " + action);
switch (action) { switch (action) {
@@ -62,16 +65,13 @@ public class VLCApplication extends CMDApplication {
command("command=seek&val=-" + POSTION_CHANGE_RATE); command("command=seek&val=-" + POSTION_CHANGE_RATE);
break; break;
case MUTE: case MUTE:
/* command("volume&val=" + toggleMute());
* Nog implementeren
* command=volume&val=
*/
break; break;
case VOLUME_UP: case VOLUME_UP:
command("volume&val=+" + VOLUME_CHANGE_RATE); volumeUp();
break; break;
case VOLUME_DOWN: case VOLUME_DOWN:
command("volume&val=-" + VOLUME_CHANGE_RATE); volumeDown();
break; break;
case SHUFFLE: case SHUFFLE:
command("command=pl_random"); command("command=pl_random");
@@ -81,4 +81,23 @@ public class VLCApplication extends CMDApplication {
break; break;
} }
} }
protected void volumeUp() {
if (!muted) {
volume += VOLUME_CHANGE_RATE;
command("volume&val=+" + VOLUME_CHANGE_RATE);
}
}
protected void volumeDown() {
if (!muted) {
volume -= VOLUME_CHANGE_RATE;
command("volume&val=-" + VOLUME_CHANGE_RATE);
}
}
protected int toggleMute() {
muted =! muted;
return muted ? 0 : volume;
}
} }