standaloneplayer.java
来自「java平台的图形音乐播放器」· Java 代码 · 共 501 行 · 第 1/2 页
JAVA
501 行
config.setPlaylistEnabled(false);
}
}
if (showEqualizer != null)
{
if (showEqualizer.equalsIgnoreCase("true"))
{
config.setEqualizerEnabled(true);
}
else
{
config.setEqualizerEnabled(false);
}
}
if (config.isPlaylistEnabled()) eqFactor = 2;
else eqFactor = 1;
setTitle(Skin.TITLETEXT);
ClassLoader cl = this.getClass().getClassLoader();
URL iconURL = cl.getResource("javazoom/jlgui/player/amp/jlguiicon.gif");
if (iconURL != null)
{
ImageIcon jlguiIcon = new ImageIcon(iconURL);
setIconImage(jlguiIcon.getImage());
config.setIconParent(jlguiIcon);
}
setUndecorated(true);
mp = new PlayerUI();
if ((showDsp != null) && (showDsp.equalsIgnoreCase("false")))
{
mp.getSkin().setDspEnabled(false);
}
if (skinPath != null)
{
mp.getSkin().setPath(skinPath);
}
mp.getSkin().setSkinVersion(skinVersion);
mp.loadUI(this);
setContentPane(mp);
setSize(new Dimension(mp.getSkin().getMainWidth(), mp.getSkin().getMainHeight()));
eqWin = new JWindow(this);
eqWin.setContentPane(mp.getEqualizerUI());
eqWin.setSize(new Dimension(mp.getSkin().getMainWidth(), mp.getSkin().getMainHeight()));
eqWin.setVisible(false);
plWin = new JWindow(this);
plWin.setContentPane(mp.getPlaylistUI());
plWin.setSize(new Dimension(mp.getSkin().getMainWidth(), mp.getSkin().getMainHeight()));
plWin.setVisible(false);
// Window listener
addWindowListener(new WindowAdapter()
{
public void windowClosing(WindowEvent e)
{
// Closing window (Alt+F4 under Win32)
close();
}
});
// Keyboard shortcut
setKeyBoardShortcut();
// Display front-end
setLocation(config.getXLocation(), config.getYLocation());
setVisible(true);
if (config.isPlaylistEnabled()) plWin.setVisible(true);
if (config.isEqualizerEnabled()) eqWin.setVisible(true);
}
/**
* Install keyboard shortcuts.
*/
public void setKeyBoardShortcut()
{
KeyStroke jKeyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_J, 0, false);
KeyStroke ctrlPKeyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_P, KeyEvent.CTRL_MASK, false);
KeyStroke altSKeyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_S, KeyEvent.ALT_MASK, false);
KeyStroke vKeyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_V, 0, false);
String searchID = "TAGSEARCH";
String preferenceID = "PREFERENCES";
String skinbrowserID = "SKINBROWSER";
String stopplayerID = "STOPPLAYER";
Action searchAction = new AbstractAction()
{
public void actionPerformed(ActionEvent e)
{
if (mp != null) mp.processJumpToFile(e.getModifiers());
}
};
Action preferencesAction = new AbstractAction()
{
public void actionPerformed(ActionEvent e)
{
if (mp != null) mp.processPreferences(e.getModifiers());
}
};
Action skinbrowserAction = new AbstractAction()
{
public void actionPerformed(ActionEvent e)
{
if (mp != null) mp.processSkinBrowser(e.getModifiers());
}
};
Action stopplayerAction = new AbstractAction()
{
public void actionPerformed(ActionEvent e)
{
if (mp != null) mp.processStop(MouseEvent.BUTTON1_MASK);
}
};
setKeyboardAction(searchID, jKeyStroke, searchAction);
setKeyboardAction(preferenceID, ctrlPKeyStroke, preferencesAction);
setKeyboardAction(skinbrowserID, altSKeyStroke, skinbrowserAction);
setKeyboardAction(stopplayerID, vKeyStroke, stopplayerAction);
}
/**
* Set keyboard key shortcut for the whole player.
* @param id
* @param key
* @param action
*/
public void setKeyboardAction(String id, KeyStroke key, Action action)
{
mp.getInputMap(JComponent.WHEN_IN_FOCUSED_WINDOW).put(key, id);
mp.getActionMap().put(id, action);
mp.getPlaylistUI().getInputMap(JComponent.WHEN_ANCESTOR_OF_FOCUSED_COMPONENT).put(key, id);
mp.getPlaylistUI().getActionMap().put(id, action);
mp.getEqualizerUI().getInputMap(JComponent.WHEN_ANCESTOR_OF_FOCUSED_COMPONENT).put(key, id);
mp.getEqualizerUI().getActionMap().put(id, action);
}
public void loaded()
{
DragAdapter dragAdapter = new DragAdapter(this);
mp.getSkin().getAcTitleBar().addMouseListener(dragAdapter);
mp.getSkin().getAcTitleBar().addMouseMotionListener(dragAdapter);
}
public void close()
{
log.info("Close player");
config.setLocation(getLocation().x, getLocation().y);
config.save();
dispose();
exit(0);
}
/* (non-Javadoc)
* @see javazoom.jlgui.player.amp.skin.Loader#togglePlaylist(boolean)
*/
public void togglePlaylist(boolean enabled)
{
if (plWin != null)
{
if (enabled)
{
if (config.isEqualizerEnabled())
{
eqFactor = 2;
eqWin.setLocation(getLocation().x, getLocation().y + mp.getSkin().getMainHeight() * eqFactor);
}
plWin.setVisible(true);
}
else
{
plWin.setVisible(false);
if (config.isEqualizerEnabled())
{
eqFactor = 1;
eqWin.setLocation(getLocation().x, getLocation().y + mp.getSkin().getMainHeight() * eqFactor);
}
}
}
}
public void toggleEqualizer(boolean enabled)
{
if (eqWin != null)
{
if (enabled)
{
if (config.isPlaylistEnabled()) eqFactor = 2;
else eqFactor = 1;
eqWin.setLocation(getLocation().x, getLocation().y + mp.getSkin().getMainHeight() * eqFactor);
eqWin.setVisible(true);
}
else
{
eqWin.setVisible(false);
}
}
}
public void minimize()
{
setState(JFrame.ICONIFIED);
}
public void setLocation(int x, int y)
{
super.setLocation(x, y);
if (plWin != null)
{
plWin.setLocation(getLocation().x, getLocation().y + getHeight());
}
if (eqWin != null)
{
eqWin.setLocation(getLocation().x, getLocation().y + eqFactor * getHeight());
}
}
public Point getLocation()
{
return super.getLocation();
}
/**
* Kills the player.
* @param status
*/
public void exit(int status)
{
System.exit(status);
}
/**
* Displays usage.
* @param msg
*/
protected static void usage(String msg)
{
System.out.println(Skin.TITLETEXT + " : " + msg);
System.out.println("");
System.out.println(Skin.TITLETEXT + " : Usage");
System.out.println(" java javazoom.jlgui.player.amp.Player [-skin skinFilename] [-song audioFilename] [-start] [-showplaylist] [-showequalizer] [-disabledsp] [-init configFilename] [-v skinversion]");
System.out.println("");
System.out.println(" skinFilename : Filename or URL to a Winamp Skin2.x");
System.out.println(" audioFilename : Filename or URL to initial song or playlist");
System.out.println(" start : Starts playing song (from the playlist)");
System.out.println(" showplaylist : Show playlist");
System.out.println(" showequalizer : Show equalizer");
System.out.println(" disabledsp : Disable spectrum/time visual");
System.out.println("");
System.out.println(" Advanced parameters :");
System.out.println(" skinversion : 1 or 2 (default 1)");
System.out.println(" configFilename : Filename or URL to jlGui initial configuration (playlist,skin,parameters ...)");
System.out.println(" Initial configuration won't be overriden by -skin and -song arguments");
System.out.println("");
System.out.println("Homepage : http://www.javazoom.net");
System.exit(0);
}
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?