Révision 3417

TXM/trunk/org.txm.backtomedia.rcp/src/org/txm/backtomedia/editors/player/HTMLPlayer.java (revision 3417)
8 8
import org.eclipse.swt.browser.Browser;
9 9
import org.eclipse.swt.browser.ProgressEvent;
10 10
import org.eclipse.swt.browser.ProgressListener;
11
import org.eclipse.swt.events.KeyEvent;
12
import org.eclipse.swt.events.KeyListener;
11 13
import org.eclipse.swt.events.SelectionEvent;
12 14
import org.eclipse.swt.events.SelectionListener;
13 15
import org.eclipse.swt.layout.GridData;
......
15 17
import org.eclipse.swt.widgets.Button;
16 18
import org.eclipse.swt.widgets.Composite;
17 19
import org.eclipse.swt.widgets.Label;
20
import org.eclipse.swt.widgets.Menu;
21
import org.eclipse.swt.widgets.MenuItem;
18 22
import org.eclipse.swt.widgets.Scale;
19 23
import org.txm.backtomedia.commands.function.OpenMediaPlayer;
20 24
import org.txm.backtomedia.commands.function.SimpleFileDialog;
......
46 50
		
47 51
		browser = new Browser(this, SWT.NONE);
48 52
		browser.setLayoutData(new GridData(GridData.FILL, GridData.FILL, true, true));
49
		browser.setText("<!DOCTYPE html><html><head><meta http-equiv=\"content-type\" content=\"text/html; charset=UTF-8\"></head><body><video id=\"video\" width=\"100%\" height=\"100%\" controls></video></body></html>");
53
		browser.setText("<!DOCTYPE html><html><head><meta http-equiv=\"content-type\" content=\"text/html; charset=UTF-8\"></head><body><video style=\"height:100%;\"id=\"video\" controls></video></body></html>");
50 54
		//browser.setText("<video id=\"video\" width=\"100%\" height=\"100%\" controls><source id=\"source\" src=\"\"></source></video>");
51 55
		
52 56
		browser.addProgressListener(new ProgressListener() {
......
69 73
			public void changed(ProgressEvent event) { }
70 74
		});
71 75
		
76
		Menu menu = new Menu(browser);
77
		MenuItem playStopItem = new MenuItem(menu, SWT.PUSH);
78
		playStopItem.setText("Play");
79
		playStopItem.addSelectionListener(new SelectionListener() {
80
			
81
			@Override
82
			public void widgetSelected(SelectionEvent e) {
83
				resume();
84
			}
85
			
86
			@Override
87
			public void widgetDefaultSelected(SelectionEvent e) { }
88
		});
89
		MenuItem pauseItem = new MenuItem(menu, SWT.PUSH);
90
		pauseItem.setText("Pause");
91
		pauseItem.addSelectionListener(new SelectionListener() {
92
			
93
			@Override
94
			public void widgetSelected(SelectionEvent e) {
95
				pause();
96
			}
97
			
98
			@Override
99
			public void widgetDefaultSelected(SelectionEvent e) { }
100
		});
101
				
102
		browser.setMenu(menu);
103
				
72 104
		GLComposite controls = new GLComposite(this, SWT.NONE, "controls");
73 105
		controls.getLayout().numColumns = 20;
74 106
		controls.getLayout().horizontalSpacing = 2;
......
185 217
//			gdata.minimumWidth = gdata.widthHint = 150;
186 218
//			volumneSpinner.setLayoutData(gdata);
187 219
			
220
			rateLabel = new Label(controls, SWT.NONE);
221
			rateLabel.setText("Rate (1.0)");
188 222
			
223
			Scale rateSpinner = new Scale(controls, SWT.NONE);
224
			rateSpinner.setMinimum(10);
225
			rateSpinner.setMaximum(300);
226
			rateSpinner.setSelection(100);
227
			rateSpinner.addSelectionListener(new SelectionListener() {
228
				
229
				@Override
230
				public void widgetSelected(SelectionEvent e) {
231
					setRate(((float)rateSpinner.getSelection())/100.0f);
232
				}
233
				
234
				@Override
235
				public void widgetDefaultSelected(SelectionEvent e) { }
236
			});
237
			GridData gdata2 = new GridData(GridData.CENTER, GridData.CENTER, false, false);
238
			gdata2.minimumWidth = gdata2.widthHint = 150;
239
			rateSpinner.setLayoutData(gdata2);
189 240
		}
190 241
		
191
		rateLabel = new Label(controls, SWT.NONE);
192
		rateLabel.setText("Rate (1.0)");
193 242
		
194
		Scale rateSpinner = new Scale(controls, SWT.NONE);
195
		rateSpinner.setMinimum(10);
196
		rateSpinner.setMaximum(300);
197
		rateSpinner.setSelection(100);
198
		rateSpinner.addSelectionListener(new SelectionListener() {
199
			
200
			@Override
201
			public void widgetSelected(SelectionEvent e) {
202
				setRate(((float)rateSpinner.getSelection())/100.0f);
203
			}
204
			
205
			@Override
206
			public void widgetDefaultSelected(SelectionEvent e) { }
207
		});
208
		GridData gdata2 = new GridData(GridData.CENTER, GridData.CENTER, false, false);
209
		gdata2.minimumWidth = gdata2.widthHint = 150;
210
		rateSpinner.setLayoutData(gdata2);
211 243
		
212 244
		//		new Label(controls, SWT.NONE).setText("Progression");
213 245
		//		
......
350 382
		
351 383
	}
352 384
	
385
	public void togglePlayPause() {
386
		if (isPlaying()) {
387
			pause();
388
		} else {
389
			resume();
390
		}
391
	}
392
	
353 393
	@Override
354 394
	public boolean isMediaLoaded() {
355 395
		
......
422 462
	
423 463
	@Override
424 464
	public boolean isPlaying() {
425
		Object o = browser.evaluate("return !document.getElementById('video').played;");
465
		Object o = browser.evaluate("return !document.getElementById('video').playing;");
426 466
		if (o == null) return false;
427 467
		if (o instanceof Boolean) {
428 468
			return (Boolean)o;

Formats disponibles : Unified diff