亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? player.java

?? java寫的MP3播放器
?? JAVA
?? 第 1 頁 / 共 3 頁
字號:
package javazoom.jlGui;

/*
 * Player.
 *
 *-----------------------------------------------------------------------
 *  This program is free software; you can redistribute it and/or modify
 *  it under the terms of the GNU General Public License as published by
 *  the Free Software Foundation; either version 2 of the License, or
 *  (at your option) any later version.
 *
 *  This program is distributed in the hope that it will be useful,
 *  but WITHOUT ANY WARRANTY; without even the implied warranty of
 *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 *  GNU General Public License for more details.
 *
 *  You should have received a copy of the GNU General Public License
 *  along with this program; if not, write to the Free Software
 *  Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
 *----------------------------------------------------------------------
 */

import java.awt.*;
import java.io.*;
import java.net.*;
import java.awt.event.*;
import javax.sound.sampled.*;
import javazoom.jlGui.skin.*;
import javazoom.jlGui.playlist.*;
import javazoom.Util.*;
/*
 * Player is the core of jlGui.<br>
 *
 * @author	E.B from JavaZOOM
 *
 * Homepage : http://www.javazoom.net
 */
public class Player extends Window implements ActionListener, BasicPlayerListener
{
	private String 		        currentFileOrURL = null;
    private String              currentSongName = null;
	private boolean		        currentIsFile;

    /*-- Window Parameters --*/
    private Image               offScreenImage;
    private Graphics            offScreenGraphics;
    private int                 WinWidth, WinHeight;
    private int                 OrigineX = 10, OrigineY = 10;
	private String		        thePath="";
	private String      		theMain="main.bmp";

	/*-- Buttons Panel members --*/
	private String		        theButtons="cbuttons.bmp";
	private Image		        imMain,imButtons;
	private activeComponent     acPrevious,acPlay,acPause,acStop,acNext,acEject;
	private Image	        	imPrevious,imPlay,imPause,imStop,imNext,imEject;
	private Image[]	        	releasedImage = {imPrevious,imPlay,imPause,imStop,imNext,imEject};
	private Image[]	        	pressedImage = {imPrevious,imPlay,imPause,imStop,imNext,imEject};
	private int[]	        	releasedPanel = {0,0,23,18, 23,0,23,18, 46,0,23,18, 69,0,23,18, 92,0,22,18, 114,0,22,16};
	private int[]	    	    pressedPanel  = {0,18,23,18, 23,18,23,18, 46,18,23,18, 69,18,23,18, 92,18,22,18, 114,16,22,16};
	private int[]               panelLocation = {16,88, 39,88, 62,88, 85,88, 108,88, 137,89};

    /*-- Title members --*/
	private boolean     		FirstDrag = true;
	private int                 XDrag = 0, YDrag = 0;
	private String		        theTitleBar="titlebar.bmp";
	private Image		        imTitleBar;
    private activeComponent     acTitleBar;
	private Image	        	imTitleB;
	private Image[]	        	releasedTitleIm = {imTitleB};
	private Image[]	        	pressedTitleIm = {imTitleB};
	private int[]	        	releasedTitlePanel = {27,0,264,14};
	private int[]	    	    pressedTitlePanel  = {27,15,264,14};
	private int[]               titleBarLocation = {0,0};

    private activeComponent     acExit;
	private int[]	        	releasedExitPanel = {18,0,9,9};
	private int[]	    	    pressedExitPanel  = {18,9,9,9};
	private Image[]	        	releasedExitIm = {null};
	private Image[]	        	pressedExitIm = {null};
	private int[]               exitLocation = {264,3};

	/*-- Text Members --*/
	private int                 fontWidth = 5;
	private int                 fontHeight = 6;
    private String              theText = "text.bmp";
	private Image               imText;
	private String              fontIndex =   "ABCDEFGHIJKLMNOPQRSTUVWXYZ\"@a  "
	                                        + "0123456789  :()-'!_+ /[]^&%.=$#"
	                                        + "   ?*";
    private Image               sampleRateImage;
    private String              sampleRateClearText = "  ";
    private Image               sampleRateClearImage;
    private int[]               sampleRateLocation = {156,43};
    private String              bitsRateClearText = "    ";
    private Image               bitsRateClearImage;
	private Image               bitsRateImage;
	private int[]               bitsRateLocation = {107,43};
	private String              TITLETEXT = "JLGUI 2.0";
	private String              titleText = TITLETEXT;
    private String              clearText = "                                     ";
    private Image               clearImage;
	private Image               titleImage;
	private int[]               titleLocation = {111,27};

	/*-- Numbers Members --*/
	private int                 numberWidth = 9;
	private int                 numberHeight = 13;
    private String              theNumbers = "numbers.bmp";
	private Image               imNumbers;
	private String              numberIndex = "0123456789 ";
    private Image               minuteImage;
    private Image               secondImage;
    private Image               minuteDImage;
    private Image               secondDImage;
    private Image[]             timeImage = {null,null,null,null,null,null,null,null,null,null,null};
    private int[]               minuteDLocation = {48,26};
    private int[]               minuteLocation = {60,26};
    private int[]               secondDLocation = {78,26};
    private int[]               secondLocation = {90,26};

	/*-- Mono/Stereo Members --*/
    private String              theMode = "monoster.bmp";
    private Image               imMode;
    private int[]	        	activeModePanel = {0,0,28,12, 29,0,27,12};
    private int[]	        	passiveModePanel = {0,12,28,12, 29,12,27,12};
    private Image               imSA,imMA,imSI,imMI;
    private Image[]             activeModeImage = {imSA,imMA};
    private Image[]             passiveModeImage = {imSI,imMI};
	private int[]               monoLocation = {212,40};
	private int[]               stereoLocation = {239,40};

	/*-- Volume/Balance Panel members --*/
	private boolean     		FirstVolumeDrag = true;
	private int                 XVolumeDrag = 0;
	private String		        theVolume="volume.bmp";
	private Image		        imVolume;
	private activeComponent     acVolume, acBalance;
	private Image[]	        	volumeImage = {null,null,null,null,null,null,null,
	                                           null,null,null,null,null,null,null,
	                                           null,null,null,null,null,null,null,
	                                           null,null,null,null,null,null,null};
    private String              fakeIndex = "abcdefghijklmnopqrstuvwxyz01";
	private int[]               volumeBarLocation = {107,57};
    private Image[]             releasedVolumeImage = {null};
    private Image[]	        	pressedVolumeImage = {null};
	private int[]	        	releasedVolumePanel = {15,422,14,11};
	private int[]	    	    pressedVolumePanel  = {0,422,14,11};
	private int     			minGain		= 0;
	private int			        maxGain		= 100;
    private int			        gainValue   = 80;
    private int                 deltaVolume = 50;
	private int[]               volumeLocation = {107+deltaVolume*gainValue/maxGain,58};
    private int[]               volumeBounds = {107,107+deltaVolume};

	private Image[]	        	balanceImage = {null};
	private boolean     		FirstBalanceDrag = true;
	private int                 XBalanceDrag = 0;
	private double     			minBalance	 = -1.0;
	private double		        maxBalance 	 = +1.0;
    private double		        balanceValue = 0.0;
   	private int                 deltaBalance = 24;
	private int[]               balanceLocation = {177+deltaBalance/2,58};
    private int[]               balanceBounds = {177,177+deltaBalance};
	private int[]               balanceBarLocation = {177,57};

    /*-- Play/Pause Icons --*/
	private String		        theIcons="playpaus.bmp";
	private Image		        imIcons;
	private Image[]	        	iconsImage = {null,null,null,null,null};
	private int[]	        	iconsPanel = {0,0,9,9 ,9,0,9,9, 18,0,9,9, 36,0,3,9, 27,0,2,9};
	private int[]               iconsLocation = {26,27, 24,27};


    /*-- PosBar members --*/
	private boolean     		FirstPosBarDrag = true;
	private int                 XPosBarDrag = 0;
	private String		        thePosBar="posbar.bmp";
	private Image		        imPosBar;
    private activeComponent     acPosBar;
	private Image[]	        	releasedPosIm = {null};
	private Image[]	        	pressedPosIm = {null};
	private int[]	        	releasedPosPanel = {248,0,28,10};
	private int[]	    	    pressedPosPanel  = {278,0,28,10};
	private double     			minPos = 0.0;
	private double		        maxPos = +1.0;
    private double		        posValue = 0.0;
   	private int                 deltaPosBar = 219;
	private int[]               posBarLocation = {16,72};
    private int[]               posBarBounds = {16,16+deltaPosBar};

	//private int[]               posBarLocation = {16,72};

    /*-- JavaSound Members --*/
    private static final int    INIT = 0;
    private static final int    OPEN = 1;
    private static final int    PLAY = 2;
    private static final int    PAUSE = 3;
    private static final int    STOP = 4;
	private int                 playerState =  INIT;
	private long                secondsAmount = 0;

	private Playlist         	playlist = null;
	private BasicPlayer         theSoundPlayer = null;
	private Config				config = null;

	/**
	 * Constructor.
	 */
	public Player(String Skin, int loglevel, String logfile)
	{
		super(new Frame());
		// Log feature.
		Debug dbg = Debug.getInstance();
		if ( (logfile != null) && (!logfile.equals("")) )
		{
			dbg.init(logfile, loglevel);
		}
		else dbg.setLogLevel(loglevel);
		// Config feature.
		config = Config.getInstance();
		// Skin feature.
		if (Skin != null) thePath = Skin;
		else thePath = config.getDefaultSkin();
		SkinLoader skl = new SkinLoader(thePath);
	    try
	    {
	    	 skl.loadImages();
	    } catch (Exception e)
	  	  {
			trace(0,getClass().getName(),"Can't load skin : "+e.getMessage());
			System.exit(0);
		  }

	    imMain = skl.getImage(theMain);
		imButtons = skl.getImage(theButtons);
		imTitleBar = skl.getImage(theTitleBar);
		imText = skl.getImage(theText);
		imMode = skl.getImage(theMode);
		imNumbers = skl.getImage(theNumbers);
		imVolume = skl.getImage(theVolume);
		imIcons = skl.getImage(theIcons);
		imPosBar = skl.getImage(thePosBar);

		WinHeight = imMain.getHeight(this);
		WinWidth = imMain.getWidth(this);
		setSize(WinWidth,WinHeight);
		setLocation(OrigineX,OrigineY);
		setBackground(Color.black);
		show();

      	offScreenImage = createImage(WinWidth,WinHeight);
	    offScreenGraphics = offScreenImage.getGraphics();
	    offScreenGraphics.drawImage(imMain,0,0,this);

		// Playlist feature.
		PlaylistFactory plf = PlaylistFactory.getInstance();
		playlist = plf.getPlaylist();
		playlist.load(config.getPlaylistFilename());

        theSoundPlayer = new BasicPlayer(this);

        /*-- Buttons --*/
        readPanel(releasedImage,releasedPanel,pressedImage,pressedPanel,imButtons);
        setButtonsPanel();

        /*-- Volume/Balance --*/
        readPanel(releasedVolumeImage,releasedVolumePanel,pressedVolumeImage,pressedVolumePanel,imVolume);
        setVolumePanel();

        /*-- Title Bar --*/
        readPanel(releasedTitleIm,releasedTitlePanel,pressedTitleIm,pressedTitlePanel,imTitleBar);
        setTitleBarPanel();

        /*-- Exit --*/
        readPanel(releasedExitIm,releasedExitPanel,pressedExitIm,pressedExitPanel,imTitleBar);
        setExitPanel();


        /*-- Mode --*/
        readPanel(activeModeImage,activeModePanel,passiveModeImage,passiveModePanel,imMode);
        offScreenGraphics.drawImage(passiveModeImage[0], stereoLocation[0], stereoLocation[1], this);
        offScreenGraphics.drawImage(passiveModeImage[1], monoLocation[0], monoLocation[1], this);

        /*-- Text --*/
        sampleRateClearImage = (new taftb(fontIndex, imText, fontWidth, fontHeight, 0, sampleRateClearText)).getBanner();
        bitsRateClearImage = (new taftb(fontIndex, imText, fontWidth, fontHeight, 0, bitsRateClearText)).getBanner();
        clearImage = (new taftb(fontIndex, imText, fontWidth, fontHeight, 0, clearText)).getBanner(0,0,155,6);
        titleImage = (new taftb(fontIndex, imText, fontWidth, fontHeight, 0, titleText)).getBanner(0,0,155,6);
        offScreenGraphics.drawImage(titleImage, titleLocation[0], titleLocation[1], this);

        /*-- Numbers --*/
        for (int h=0;h<numberIndex.length();h++)
        {
            timeImage[h] = (new taftb(numberIndex, imNumbers, numberWidth, numberHeight, 0, ""+numberIndex.charAt(h))).getBanner();
        }

        /*--  Icons --*/
        readPanel(iconsImage,iconsPanel,null,null,imIcons);
        offScreenGraphics.drawImage(iconsImage[2], iconsLocation[0], iconsLocation[1], this);

        /*-- Pos Bar --*/
        readPanel(releasedPosIm,releasedPosPanel,pressedPosIm,pressedPosPanel,imPosBar);
        setPosBarPanel();

        repaint();
	}

    /**
     * Crop Panel Features from image file.
     */
    private void readPanel(Image[] releasedImage, int[] releasedPanel,
                           Image[] pressedImage,  int[] pressedPanel, Image imPanel)
    {
       int xul,yul,xld,yld;
       int j = 0;
       if (releasedImage != null)
       {
           for (int i = 0; i<releasedImage.length; i++)
           {
                releasedImage[i] = createImage(releasedPanel[j+2],releasedPanel[j+3]);
                xul = releasedPanel[j];
                yul = releasedPanel[j+1];
                xld = releasedPanel[j] + releasedPanel[j+2];
                yld = releasedPanel[j+1] + releasedPanel[j+3];
		        (releasedImage[i].getGraphics()).drawImage(imPanel,0,0,releasedPanel[j+2],releasedPanel[j+3],
		                                                   xul,yul,xld,yld,null);
                j = j + 4;
	      }
       }
       j = 0;

       if (pressedImage != null)
       {
            for (int i = 0; i<pressedImage.length; i++)
            {
                pressedImage[i] = createImage(pressedPanel[j+2],pressedPanel[j+3]);
                xul = pressedPanel[j];
                yul = pressedPanel[j+1];
                xld = pressedPanel[j] + pressedPanel[j+2];
                yld = pressedPanel[j+1] + pressedPanel[j+3];
		        (pressedImage[i].getGraphics()).drawImage(imPanel,0,0,pressedPanel[j+2],pressedPanel[j+3],
		                                                   xul,yul,xld,yld,null);
                j = j + 4;
	        }
	   }
    }

    /**
     * Instantiate Buttons Panel with activeComponent.
     * Add them to window and ActionListener.
     */
    private void setButtonsPanel()
    {
        int l = 0;
        setLayout(null);
        acPrevious = new activeComponent(releasedImage[0],pressedImage[0],AWTEvent.MOUSE_EVENT_MASK);
        acPrevious.setLocation(panelLocation[l++],panelLocation[l++]);
        add(acPrevious);
        acPrevious.setActionCommand("Previous");
        acPrevious.addActionListener(this);

        acPlay =  new activeComponent(releasedImage[1],pressedImage[1],AWTEvent.MOUSE_EVENT_MASK);
        acPlay.setLocation(panelLocation[l++],panelLocation[l++]);
        add(acPlay);
        acPlay.setActionCommand("Play");
        acPlay.addActionListener(this);

        acPause =  new activeComponent(releasedImage[2],pressedImage[2],AWTEvent.MOUSE_EVENT_MASK);
        acPause.setLocation(panelLocation[l++],panelLocation[l++]);

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
风间由美一区二区av101| 国产精品入口麻豆原神| 成人美女在线观看| 国产一区二区91| 日本三级韩国三级欧美三级| 亚洲国产综合91精品麻豆| 亚洲国产精品99久久久久久久久| 日韩欧美成人午夜| 911国产精品| 91精品国产一区二区三区香蕉| 欧美中文字幕久久 | 亚洲精品国久久99热| 亚洲女女做受ⅹxx高潮| 亚洲日本va在线观看| 亚洲精品日韩综合观看成人91| 一区二区三区日韩在线观看| 亚洲一区二区成人在线观看| 日韩高清中文字幕一区| 精彩视频一区二区三区| 国产91在线看| 在线观看亚洲精品| 日韩欧美在线网站| 日本一区二区视频在线| 亚洲精品国产第一综合99久久| 亚洲一级不卡视频| 奇米色777欧美一区二区| 国产在线精品一区二区不卡了| 国产福利一区在线观看| 一本一道久久a久久精品综合蜜臀| 一本到不卡免费一区二区| 欧美日本精品一区二区三区| 欧美成人伊人久久综合网| 日本一区二区综合亚洲| 亚洲大片在线观看| 国产在线精品一区二区| 色婷婷久久久久swag精品| 欧美一区二区私人影院日本| 久久精品欧美一区二区三区不卡 | 国产suv精品一区二区883| av网站免费线看精品| 欧美乱熟臀69xxxxxx| 国产午夜精品一区二区三区视频 | 国产精品1区2区3区| 99国产精品一区| 日韩一区二区影院| 亚洲国产精品t66y| 男人的j进女人的j一区| 成人午夜精品在线| 91精品国模一区二区三区| 国产精品毛片久久久久久久| 午夜精品福利视频网站| 懂色av一区二区三区免费观看| 欧美三级电影在线看| 欧美激情在线一区二区三区| 岛国一区二区在线观看| 91精品在线免费| 亚洲美女在线国产| 国产在线国偷精品免费看| 欧美日韩免费观看一区三区| 中文字幕亚洲欧美在线不卡| 麻豆91在线播放免费| 欧美体内she精视频| 自拍偷拍欧美精品| 国产大陆a不卡| 精品欧美久久久| 偷拍自拍另类欧美| 欧美亚洲日本国产| 最新热久久免费视频| 成人午夜短视频| 久久久久久久久伊人| 蓝色福利精品导航| 欧美一区二区三区四区久久| 亚洲www啪成人一区二区麻豆| 99精品视频在线观看免费| 日本一区二区视频在线观看| 国产一区在线视频| 久久人人爽爽爽人久久久| 精品一区二区在线免费观看| 91麻豆精品国产综合久久久久久| 亚洲一区日韩精品中文字幕| 91论坛在线播放| 亚洲激情图片qvod| 欧美天天综合网| 视频一区欧美精品| 91精品国产色综合久久| 日韩在线a电影| 精品国产乱码久久| 欧美三级电影网站| 亚洲男人的天堂在线观看| 色综合久久99| 视频一区欧美日韩| 精品国产免费人成电影在线观看四季 | 日韩欧美一级二级三级| 久久99久久99| 久久久久久日产精品| 成人免费视频国产在线观看| 亚洲欧美日韩在线不卡| 欧美性感一区二区三区| 日韩精品一二三| 久久午夜老司机| 91在线视频在线| 亚洲成人精品一区二区| 日韩美一区二区三区| 成人毛片在线观看| 亚洲成人一区二区| 日韩欧美综合一区| 成人91在线观看| 午夜欧美电影在线观看| 欧美va亚洲va| 色网站国产精品| 另类小说欧美激情| 亚洲欧美一区二区三区极速播放| 欧美日韩极品在线观看一区| 韩国三级在线一区| 亚洲欧美激情在线| 亚洲色图欧洲色图婷婷| 欧美麻豆精品久久久久久| 国产乱码字幕精品高清av| 亚洲免费观看高清完整| 日韩欧美你懂的| 97se亚洲国产综合自在线不卡| 日产精品久久久久久久性色| 欧美激情一区三区| 91精品国产综合久久精品麻豆| 懂色av一区二区在线播放| 午夜精品久久久久久久蜜桃app | ㊣最新国产の精品bt伙计久久| 欧美精品三级日韩久久| 成人a区在线观看| 激情综合网激情| 亚洲电影一级片| 国产精品你懂的在线欣赏| 欧美日本国产一区| 色88888久久久久久影院按摩| 久久97超碰国产精品超碰| 亚洲香肠在线观看| 亚洲欧洲成人精品av97| 久久精品亚洲精品国产欧美| 欧美一区2区视频在线观看| 91麻豆swag| 91免费观看视频| 成人中文字幕电影| 韩国欧美国产1区| 热久久国产精品| 午夜精品久久久久久久久久久| 亚洲少妇屁股交4| 1000精品久久久久久久久| 欧美经典三级视频一区二区三区| 91精品免费在线观看| 欧美日韩精品高清| 欧美日韩中字一区| 欧美视频在线播放| 欧美视频中文字幕| 欧美日韩精品一区二区| 欧美在线免费视屏| 欧美丝袜丝交足nylons| 欧美丝袜丝nylons| 在线不卡欧美精品一区二区三区| 欧美伊人久久久久久午夜久久久久| 91网上在线视频| 日本韩国一区二区| 欧美亚洲国产bt| 欧美三级电影一区| 日韩免费性生活视频播放| 欧美成人精品福利| 久久婷婷国产综合精品青草| 精品国产乱码久久久久久久| 久久色在线观看| 国产精品美女久久久久久久久久久| 中文字幕精品三区| 成人欧美一区二区三区黑人麻豆| 亚洲视频你懂的| 一区二区成人在线| 日本aⅴ免费视频一区二区三区| 麻豆91精品视频| 国产成人一级电影| 一本色道a无线码一区v| 欧美日韩精品免费| 久久一区二区视频| 亚洲毛片av在线| 天堂蜜桃91精品| 国产精品一区二区果冻传媒| 99re这里都是精品| 欧美高清精品3d| 欧美经典一区二区三区| 亚洲另类一区二区| 免费黄网站欧美| av中文字幕不卡| 欧美三级韩国三级日本三斤| 欧美成va人片在线观看| 国产精品久久毛片av大全日韩| 亚洲一区二区中文在线| 精品亚洲porn| 91福利国产成人精品照片| 欧美www视频| 亚洲精品午夜久久久| 黑人巨大精品欧美一区| 91黄色激情网站| 久久综合中文字幕| 亚洲一区二区三区精品在线|