[MPlayer-dev-eng] Re: Using -wid to embed mplayer into a java SWT application. (SOLVED)

kamal sharma kamal444 at yahoo.com
Fri Oct 7 11:26:57 CEST 2005


Hi,

Well even i tried the program , but i says the follow.
error when compiled on eclipse:

Exception in thread "main"
java.lang.NoClassDefFoundError:
org/eclipse/swt/internal/gtk/OS
	at
org.eclipse.swt.internal.Converter.wcsToMbcs(Converter.java:63)
	at
org.eclipse.swt.internal.Converter.wcsToMbcs(Converter.java:54)
	at
org.eclipse.swt.widgets.Display.<clinit>(Display.java:121)
	at play.mplayer.main(mplayer.java:86)


Can u help me out?

Regards,
Kamal 

--- almerindo.rehem at aracaju.se.gov.br wrote:

> 
> 
> Reinier Zwitserloot <surial <at> gmail.com> writes:
> 
> Hello All.
> 
> In Linux dont works fine!
> 
> I tried to use its code in linux and the screen of
> the video is for 
> backwards of window SWT. The code modified for linux
> is:
> 
> //Source starts here.
> 
> import java.io.*;
> 
> import org.eclipse.swt.*;
> import org.eclipse.swt.graphics.Color;
> import org.eclipse.swt.graphics.RGB;
> import org.eclipse.swt.layout.FillLayout;
> import org.eclipse.swt.widgets.*;
> 
> 	public class Player
> 	{ 
> 	       //You'll have to edit these paths to
> something useful.
> 	        private static final String MPLAYER =
> "/usr/bin/mplayer";
> 	        private static final String VIDEO_FILE =
> "/var/preserve/videos/video.mp4";
> 	
> 	        public static Process setFile(final File
> pFile, final int hWnd)
> 	          throws IOException
> 	        {
> 	               
> System.out.println("------------------------");
>                         System.out.println(hWnd);
>                        
> System.out.println("------------------------");
> 
> 			final String[] lCmds = new String[] {
> 	                        MPLAYER,
> 	                        "-wid",
> String.valueOf(hWnd),
> 	                        "-nokeepaspect",
> 	                        "-geometry", "0:0",
> 	                        "-colorkey", "0x101010",
> 	                        "-vo", "x11",
> 	                        pFile.getAbsolutePath()
> 	                };
> 	
> 	                final Process lProcess =
> Runtime.getRuntime().exec(lCmds);
> 	                final InputStream lOut1 =
> lProcess.getErrorStream();
> 	                final InputStream lOut2 =
> lProcess.getInputStream();
> 	
> 	                final Runnable lPrinter1 = new
> Runnable() {
> 	                        public void run()
> 	                        {
> 	                                try {
> 	                                    final
> BufferedReader lReader = new
> 
> BufferedReader(new InputStreamReader(lOut1,
> "UTF-8"));
> 	                                        for (
> String l = lReader.readLine() ;l
> != null ; l = lReader.readLine() ) {
> 	                                            
> System.out.println(l);
> 
> 	                                        }
> 	                                } catch ( Throwable
> t ) {
> 	                                       
> t.printStackTrace();
> 	                                }
> 	                        }
> 	                };
> 	
> 	                final Runnable lPrinter2 = new
> Runnable() {
> 	                        public void run()
> 	                        {
> 	                                try {
> 	                                        run2();
> 	                                } catch ( Throwable
> t ) {
> 	                                       
> t.printStackTrace();
> 	                                }
> 	                        }
> 	                        public void run2()
> 	                          throws Throwable
> 	                        {
> 	                                final
> BufferedReader lReader = new 
> BufferedReader(
> 
> 												new InputStreamReader(lOut2, "UTF-8"));
> 
> 	                                for ( String l =
> lReader.readLine() ;
> 
> 										l != null ; l = lReader.readLine() ) {
> 
> 	                                       
> System.out.println(l);
> 
> 	                                }
> 	                        }
> 	                };
> 	
> 	                new Thread(lPrinter1).start();
> 	                new Thread(lPrinter2).start();
> 	
> 	                return lProcess;
> 	        }
> 	
> 	        public static void main(String[] pArgs)
> 	          throws Exception
> 	        {
> 	                final Display wDisplay = new
> Display();
> 					
> 					
> 			final Shell wShell = new Shell(wDisplay,
> SWT.SHELL_TRIM);
> 	                final FillLayout wLayout = new
> FillLayout();
> 	                wShell.setLayout(wLayout);
> 	                
> 			final Canvas wVideo = new Canvas(wShell,
> SWT.EMBEDDED);
> 			final Color wColor = new Color(wDisplay, new
> RGB(0x10, 0x10, 0x10));
> 			wVideo.setBackground(wColor);
> 	                
> 								
> 	                wShell.setSize(800, 600);
> 	                wShell.layout();
> 	
> 	                wShell.setVisible(true);
> 	                final Process lProcess =
> setFile(new File(VIDEO_FILE),
> wVideo.handle);
> 	
> 	                while ( !wShell.isDisposed() ) {
> 	                        if (
> !wDisplay.readAndDispatch() ) {
> 	                                wDisplay.sleep();
> 	                        }
> 	                }
> 	
> 	                lProcess.destroy();
> 	        }
> 	}
> 
> I tried get the Window ID (wmctrl -l) and put with
> mplayer -wid ,
>  but dont works too!
> 
> The:  "-vo", "x11" was changed...
> 
> 
> Any sugestion?
> 
> thanks,
> Rehem
> 
> > 
> > DUUUUUUUH, of course. Now it works! All you have
> to add to make it work:
> > 
> > final Color wColor = new Color(wDisplay, new
> RGB(0x10, 0x10, 0x10));
> > wVideo.setBackground(wColor);
> > 
> > (right after creating the Canvas; the final Canvas
> wVideo = new
> > Canvas(wShell, SWT.EMBEDDED) line).
> > 
> > Thanks a lot!
> > 
> >  -- Reinier Zwitserloot
> > 
> > On 9/11/05, Sascha Sommer <saschasommer <at>
> freenet.de> wrote:
> > > 
> > > The colorkey is the background color (as RGB
> value) of the video window.
> > > 
> > > Sascha
> > >
> > 
> 
> 
=== message truncated ===



		
__________________________________ 
Yahoo! Mail - PC Magazine Editors' Choice 2005 
http://mail.yahoo.com




More information about the MPlayer-dev-eng mailing list