⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 playerpanel.java

📁 FMJ(freedom media for java)是java视频开发的新选择
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
	 * 	 */	private void initialize() {				loadPrefs();		         this.setLayout(new BorderLayout());        this.setSize(new Dimension(363, 218));        this.add(getPlayerToolBar(), BorderLayout.NORTH);                JPanel southPanel = new JPanel();        southPanel.setLayout(new BorderLayout());        this.add(southPanel, BorderLayout.SOUTH);                        southPanel.add(getTransportControlPanel(), BorderLayout.NORTH);        southPanel.add(getStatusBar(), BorderLayout.SOUTH);                this.add(getVideoPanel(), BorderLayout.CENTER);               				}		/** load preferences */	private void loadPrefs()	{		try {			final File f = PlayerPanelPrefs.getFile();			if (!f.exists())			{				logger.fine("FMJStudio prefs file does not exist.  Using defaults.");				setDefaultPrefs();				return;			}			FileReader reader = new FileReader(f);			prefs = new PlayerPanelPrefs();			prefs.load(reader);		}		catch (Exception e) {			logger.warning("Problem loading FMJStudio prefs: " + e + ".  Using defaults.");			setDefaultPrefs();		}	}		/** create default prefs and save them. */	private void setDefaultPrefs()	{		prefs = new PlayerPanelPrefs();				prefs.recentUrls.add("http://stream.lrz-muenchen.de:31337/m945-hq.ogg"); // internet ogg radio, munich student station....		prefs.recentUrls.add("http://stream.lrz-muenchen.de:31337/m945-hq.mp3"); // internet mp3 radio, munich student station....		prefs.recentUrls.add("file://samplemedia/hen.mp3");		prefs.recentUrls.add("file://samplemedia/lion_roar.mp3");		prefs.recentUrls.add("file://samplemedia/betterway.wav"); // from EJMF		prefs.recentUrls.add("file://samplemedia/issues.au"); // from EJMF		prefs.recentUrls.add("file://samplemedia/gulp.wav"); // from EJMF		prefs.recentUrls.add("file://samplemedia/gulp2.wav"); // from EJMF		prefs.recentUrls.add("file://samplemedia/Gloria_Patri.ogg");		prefs.recentUrls.add("file://samplemedia/safexmas.mov"); // from EJMF		prefs.recentUrls.add("http://fmj.larsontechnologies.com/samplemedia/Apollo_15_liftoff_from_inside_LM.ogg"); // Apollo 15 movie from wikimedia		//prefs.recentUrls.add("http://upload.wikimedia.org/wikipedia/commons/d/d0/Apollo_15_liftoff_from_inside_LM.ogg"); // Apollo 15 movie from wikimedia		prefs.recentUrls.add("http://www.surfshooterhawaii.com//cgi-bin/axispush555.cgi?dummy=garb"); // sample IP surf cam, streaming MJPG		prefs.recentUrls.add("http://towercam.uu.edu/axis-cgi/mjpg/video.cgi"); // sample IP camera, streaming MJPG		prefs.recentUrls.add("http://www.easylife.org/386dx/smells.mp3"); // just being silly now							prefs.rtpTransmitWizardConfig.url = "file://samplemedia/gulp2.wav";		prefs.rtpTransmitWizardConfig.trackConfigs = new TrackConfig[] {new TrackConfig(true, new AudioFormat(AudioFormat.ULAW_RTP, 8000.0, 8, 1, AudioFormat.LITTLE_ENDIAN, AudioFormat.SIGNED))};		prefs.rtpTransmitWizardConfig.destUrl = "rtp://192.168.1.4:8000/audio/16"; //RTPUrlParser.parse("rtp://192.168.1.4:8000/audio/16");		prefs.transcodeWizardConfig.url = "file://samplemedia/gulp2.wav";		prefs.transcodeWizardConfig.contentDescriptor = new FileTypeDescriptor(FileTypeDescriptor.WAVE);		prefs.transcodeWizardConfig.trackConfigs = new TrackConfig[] {new TrackConfig(true, new AudioFormat(AudioFormat.LINEAR, 8000.0, 8, 1, -1, AudioFormat.UNSIGNED))};		prefs.transcodeWizardConfig.destUrl = URLUtils.createUrlStr(new File(PathUtils.getTempPath(), "gulp2-transcoded.wav"));		// TODO: format				savePrefs();   	}		/** save preferences. */	private void savePrefs()	{		try		{			FileWriter fileWriter = new FileWriter(PlayerPanelPrefs.getFile());			prefs.write(fileWriter);			fileWriter.flush();			fileWriter.close();		}		catch (Exception e)		{			logger.log(Level.WARNING, "savePrefs failed: " + e, e);		}	}	/**	 * This method initializes playerToolBar		 * 		 * @return javax.swing.JToolBar		 */	private JToolBar getPlayerToolBar() {		if (playerToolBar == null) {			playerToolBar = new JToolBar();			playerToolBar.setFloatable(false);			playerToolBar.add(getOpenButton());			playerToolBar.add(getOpenCaptureDeviceButton());			playerToolBar.add(getAddressPanel());			playerToolBar.add(getLoadButton());		}		return playerToolBar;	}	/**	 * This method initializes openButton		 * 		 * @return javax.swing.JButton		 */	private JButton getOpenButton() {		if (openButton == null) {			openButton = new JButton();			openButton.setToolTipText("Browse for media file...");			openButton.setIcon(new ImageIcon(getClass().getResource("/net/sf/fmj/ui/images/cvs_folder_rep.png")));			openButton.addActionListener(new ActionListener(){				public void actionPerformed(ActionEvent arg0) {					onOpenFile();				}							});		}		return openButton;	}		public void onOpenFile()	{		final JFileChooser chooser = new JFileChooser();		if (chooser.showOpenDialog(PlayerPanel.this) ==JFileChooser.APPROVE_OPTION)		{			final String urlStr = URLUtils.createUrlStr(chooser.getSelectedFile());			addMediaLocatorAndLoad(urlStr);		}	}		private JButton getOpenCaptureDeviceButton()	{		if (openCaptureDeviceButton == null)		{						openCaptureDeviceButton = new JButton();			openCaptureDeviceButton.setToolTipText("Select capture device...");			openCaptureDeviceButton.setIcon(new ImageIcon(getClass().getResource("/net/sf/fmj/ui/images/webcam.png"))); // TODO: different icon			openCaptureDeviceButton.addActionListener(new ActionListener(){				public void actionPerformed(ActionEvent arg0) {					onOpenCaptureDevice();									}							});		}		return openCaptureDeviceButton;	}		public void onOpenCaptureDevice()	{		MediaLocator locator = CaptureDeviceBrowser.run(getParentFrame());		if (locator != null)		{			addMediaLocatorAndLoad(locator.toExternalForm());		}	}		private Frame getParentFrame()	{		// TODO: there must be a better way in swing to do this...		Container c = getParent();		while (c != null)		{			if (c instanceof Frame)				return (Frame) c;						c = c.getParent();		}		throw new RuntimeException("No parent frame");	}		public void onTransmitRTP()	{		RTPTransmitWizard w = new RTPTransmitWizard(getParentFrame(), prefs.rtpTransmitWizardConfig);		boolean result = w.run();				//  store preferences if successful		if (result)		{			containerPlayer.setRealizedStartedProcessor(w.getResult().processor);						prefs.rtpTransmitWizardConfig = w.getConfig();	// TODO: this is the same object, we need to copy somewhere.			savePrefs();		}			}		public void onTranscode()	{		TranscodeWizard w = new TranscodeWizard(getParentFrame(), prefs.transcodeWizardConfig);		boolean result = w.run();				//  store preferences if successful		if (result)		{			containerPlayer.setRealizedStartedProcessor(w.getResult().processor);						prefs.transcodeWizardConfig = w.getConfig();	// TODO: this is the same object, we need to copy somewhere.			savePrefs();		}			}		public void onReceiveRTP()	{		String url = RTPReceivePanel.run(getParentFrame());		if (url == null)			return;	// cancel		addMediaLocatorAndLoad(url);	}		public void onOpenURL()	{		String url = URLPanel.run(getParentFrame());		if (url == null)			return;	// cancel		addMediaLocatorAndLoad(url);	}		public void onAutoPlay(boolean value)	{		logger.fine("onAutoPlay: " + value);		prefs.autoPlay = value;		savePrefs();	}		public void onAutoLoop(boolean value)	{		prefs.autoLoop = value;		if (containerPlayer != null)			containerPlayer.setAutoLoop(value);				savePrefs();	}				public PlayerPanelPrefs getPrefs()	{		return prefs;	}	/**	 * This method initializes transportControlPanel		 * 		 * @return net.sf.fmj.ui.control.TransportControlPanel		 */	private TransportControlPanel getTransportControlPanel() {		if (transportControlPanel == null) {			transportControlPanel = new TransportControlPanel();			transportControlPanel.setPlayer(getContainerPlayer());		}		return transportControlPanel;	}		private JLabel getStatusBar() {		if (statusBar == null) {			statusBar = new JLabel();			statusBar.setText(" ");	// so it will lay out properly		}		return statusBar;	}}  //  @jve:decl-index=0:visual-constraint="10,10"

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -