Archiv für

Juli, 2007

...

Java Media Framework: Webcam als CaptureDevice initialisieren

kein kommentar

Seit einiger Zeit bastel ich ja an einem Java-Client für Webcams herum und habe mich daher noch einmal mit dem Java Media Framework befasst. Das ganze klappt auch schon sehr gut, leider musste ich aber wieder feststellen, dass es bei so einer Anwendung keine echte Plattformunabhängigkeit gibt. Unter meinem (X)Ubuntu liefert mir das gleiche Programm – natürlich mit der Linux-Version des JMF – keine Bilder, sondern eine Exception. Und bis jetzt hab ich noch keine Antwort auf meine Frage: Wie initialisiere ich meine CaptureDevices mit dem Java Media Frame richtig? Das es funktioniert, beweist ein Start des JMFstudio, in dem die Bilder der Webcam bestens angezeigt werden… :-(

Ich verwende im Moment folgenden Code, um alle verfügbaren Geräte zu finden:

	private MediaLocator findFirstUsableDevice(Format format) {
		logger.entering(getClass().getName(), "findFirstUsableDevice");

		MediaLocator cameraLocator = null;
		Vector deviceList = CaptureDeviceManager.getDeviceList(format);
		if(deviceList != null && deviceList.size() > 0) {
			// devices found
			CaptureDeviceInfo device = (CaptureDeviceInfo) deviceList.get(0);
			logger.log(Level.INFO, deviceList.size() + " devices found. Using '" + device + "'.");
			cameraLocator = device.getLocator();
		} else {
			logger.log(Level.SEVERE, "No devices found.");
		}

		logger.exiting(getClass().getName(), "findFirstUsableDevice", cameraLocator);
		return cameraLocator;
	}

Damit wird ein CameraLocator erstellt, mit dem das Gerät angesprochen werden kann. Wem jetzt noch nicht langweilig ist, der kann den Rest des Artikel lesen. :-)

Mehr: Lies den Rest dieses Artikels…

Project Darkstar: Einblicke in den Java Game Server

kein kommentar

Ich beschäftige mich seit einiger Zeit mit Project Darkstar, dem Game Server von SUN. Der Game Server ist ein Open Source-Projekt, der Entwicklern einen leichten Einstieg in die Programmierung von Massively Multiplayer Online Games (MMOG) bietet, in dem der Server schon allerlei Aufgaben in Bezug auf die Persistenz von Daten und die Organisation von Objekten übernimmt. Der Entwickler kann sich also direkt auf die Logik stürzen, also die Verwaltung von Spielern und Objekten der Spielwelt, die an alle Clients verteilt werden müssen. Und genau das habe ich jetzt versucht…

Mehr: Lies den Rest dieses Artikels…

Mashup: Google Maps und Frazr

1 kommentar

Da ich seit ein paar Tagen bei Frazr angemeldet bin, habe ich mich gestern abend mal hingesetzt und ein kleines Mashup mit Google Maps geschrieben:

http://primotion.de/frazr/

Die Seite lädt per Frazr API die neusten Frazes und die dazugehörigen Standorte der Benutzer. Das ganze wird auf einer Google -Karte dargestellt und alle 30s nachgeladen. Da ich aber kein Freund von Javascript und PHP bin, hat das ganze etwas länger gedauert und ist auch jetzt noch nicht wirklich schön.

Was noch fehlt:

  • Ordentliches Update (nur die neuen Frazes)
  • Pool der alten Frazes
  • Entfernen veralteter Frazes von der Karte (wieso gibt es nicht GMap2.removeOverlayAt(point)?

Wie ich das mit Javascript alles anstelle, weiß ich noch nicht so genau. Ausserdem muss ich mich erstmal an Ajax gewöhnen, asynchrone Requests sind nämlich nicht so wie Events in Java. Alles ein Murks, dieses Webzeug. Vielleicht sollte ich das ganze gleich auf GWT umstellen… ;-)