avi - video mit swt abspielen

smith99

Grünschnabel
Hallo zusammen,

kann man mit SWT ein AVI - Video abspielen?

Ich habe eine SWING OBerfläche, die ich in SWT umschreiben soll. Nur habe ich das Problem, das dort ein AvI - Video abgspielt wird und da ich noch neu in der SWT Welt bin, fehlt mir nun der Ansatz, das zu verwirklichen...

Danke für die Hilfe...

Silke
 
Hallo!

Versuchs mal so:
Code:
package de.tutorials;

import org.eclipse.swt.SWT;
import org.eclipse.swt.layout.FillLayout;
import org.eclipse.swt.ole.win32.OleAutomation;
import org.eclipse.swt.ole.win32.OleClientSite;
import org.eclipse.swt.ole.win32.OleFrame;
import org.eclipse.swt.ole.win32.Variant;
import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.widgets.Shell;

public class SWTVideoPlayer {

	public static void main(String[] args) {
		Display display = new Display();
		Shell shell = new Shell(display);

		shell.setText("SWT Video Player");

		shell.setSize(640, 480);

		shell.setLayout(new FillLayout());

		OleFrame frm = new OleFrame(shell, SWT.NONE);

		OleClientSite site = new OleClientSite(frm, SWT.NONE,
				"MediaPlayer.MediaPlayer.1");
		OleAutomation auto = new OleAutomation(site);
		int[] ids = null;
		ids = auto.getIDsOfNames(new String[] { "Open" });
		auto.invoke(ids[0],
				new Variant[] { new Variant("C:\\WINNT\\clock.avi") });

		ids = auto.getIDsOfNames(new String[] { "Play" });
		auto.invoke(ids[0]);

		shell.open();

		while (!shell.isDisposed())
			if (!display.readAndDispatch())
				display.sleep();

		site.deactivateInPlaceClient();

		site.dispose();
		auto.dispose();
	}
}

Ansonsten gibts bei JVLC:
http://trac.videolan.org/jvlc/
Noch ein VLC Video Widget für SWT.

Gruß Tom
 
hallo tom,

danke für die Hilfe und es funktioniert auch besseren.... nur gibt es vielleicht auch ne möglichkeit, das windows unabhängig zu gestalten, das heißt mit dem Real- oder Quicktimeplayer...?

Ich habs probiert selber umzuschreiben, aber irgendwie hat das nicht funktioniert...

Schonmal danke für deine Hilfe
 
Hallo!

Leider funktioniert OLE/ActiveX mit SWT nur unter Win32 Umgebungen weshalb du diese Variante wohl vergessen kannst. Du könntest aber versuchen das JMF (Java Media Framework) unter SWT zum laufen zu bekommen. Damit kannst du IMHO auch avi's abspielen.

Gruß Tom
 
hmm habe ne andere frage wie impotiert man avi oder andere video formate in max so das pro keyfram ein fram vom video ist ;) ? ?
 
AFAIK müsstest du ein avi als textur auf ein objekt im viewport klatschen....dann konfigurier die timeline so das sie mit dem avi synchron läuft (25 fps ?)
 

Neue Beiträge

Zurück