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

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

?? player.java

?? - MP3 streaming support for Shoutcast/Icecast added. - Ogg Vorbis support added. - Playlist implem
?? 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一区二区三区免费野_久草精品视频
亚洲欧美综合在线精品| 国产一区不卡精品| 久久激情五月激情| 成人av在线电影| 日韩欧美在线123| 一区二区三区四区在线播放| 久久精品99国产精品| 日本精品视频一区二区| 国产日韩精品一区二区浪潮av | 精品国产免费人成在线观看| 一区二区在线观看av| 国产一区二区主播在线| 91精品国产综合久久精品app| 国产欧美一二三区| 精品综合久久久久久8888| 欧美亚洲一区三区| 狠狠色综合日日| 欧美少妇性性性| 亚洲精品中文在线| 成人影视亚洲图片在线| 欧美电视剧在线观看完整版| 一区二区三区.www| 91美女在线视频| 国产精品久久久久久久久久免费看 | 国产精品电影院| 国产在线精品一区二区不卡了 | 蜜桃一区二区三区在线| 欧美色网一区二区| 亚洲一区免费视频| 欧美中文字幕一二三区视频| 亚洲女与黑人做爰| 日本高清成人免费播放| 亚洲精品乱码久久久久久日本蜜臀| 国产成人综合在线观看| 国产偷国产偷亚洲高清人白洁| 久久精品国产77777蜜臀| 精品美女在线观看| 激情综合色综合久久综合| 精品奇米国产一区二区三区| 极品少妇xxxx偷拍精品少妇| 2023国产精华国产精品| 国产一区二区福利| 日本一区二区综合亚洲| 波多野结衣亚洲| 亚洲男同1069视频| 欧美日韩免费在线视频| 免费在线视频一区| 久久先锋影音av| caoporn国产精品| 一个色在线综合| 欧美日本视频在线| 国产乱码精品一品二品| 亚洲情趣在线观看| 欧美日韩情趣电影| 国产制服丝袜一区| 久久se这里有精品| 国产精品久久久久久久久动漫 | 国产不卡在线视频| 中文字幕亚洲在| 91精品国产综合久久精品图片| 蜜桃91丨九色丨蝌蚪91桃色| 国产午夜亚洲精品羞羞网站| 91论坛在线播放| 美国毛片一区二区| 国产精品二三区| 91精品国产色综合久久不卡电影 | 午夜视频久久久久久| 欧美电影免费观看高清完整版在| 粗大黑人巨茎大战欧美成人| 亚洲成a人v欧美综合天堂下载 | 日韩精品中文字幕在线不卡尤物| 成人网在线播放| 日韩精品午夜视频| 国产精品亲子伦对白| 欧美日韩的一区二区| 国产精品一二三区在线| 亚洲国产视频直播| 国产精品视频一二三区| 欧美一级视频精品观看| 99re6这里只有精品视频在线观看| 日韩高清不卡一区二区| 亚洲男人的天堂网| 久久久久久久电影| 日韩一区二区在线免费观看| 色综合天天天天做夜夜夜夜做| 免费在线观看成人| 亚洲国产日韩一级| 国产精品人人做人人爽人人添| 日韩午夜激情视频| 欧美性xxxxxx少妇| av亚洲精华国产精华精华| 国产剧情一区二区三区| 日产国产高清一区二区三区| 亚洲精品国久久99热| 国产欧美视频一区二区三区| 精品美女在线播放| 日韩一区二区三区免费观看| 欧美性色综合网| 色欧美片视频在线观看| 成人激情视频网站| 粉嫩aⅴ一区二区三区四区五区| 久久99在线观看| 日韩av中文字幕一区二区三区| 亚洲黄色小说网站| 亚洲精品免费在线观看| 综合自拍亚洲综合图不卡区| 国产女主播一区| 欧美国产一区在线| 国产亚洲一区二区三区四区| 久久综合五月天婷婷伊人| 亚洲一区在线观看网站| 一区二区在线观看免费 | 欧美亚洲另类激情小说| 色综合久久中文字幕综合网| 97se亚洲国产综合自在线| 99视频精品全部免费在线| 菠萝蜜视频在线观看一区| 风间由美中文字幕在线看视频国产欧美| 国产一区不卡在线| 成人动漫中文字幕| 99久久伊人网影院| 91麻豆文化传媒在线观看| 色香蕉久久蜜桃| 欧美视频在线一区| 8v天堂国产在线一区二区| 制服丝袜国产精品| 26uuu久久天堂性欧美| 久久新电视剧免费观看| 中文乱码免费一区二区| 中文字幕日韩一区| 亚洲高清在线视频| 久久99精品国产麻豆不卡| 黄色小说综合网站| 99热精品国产| 欧美亚洲综合网| 精品国产乱码91久久久久久网站| 久久人人97超碰com| 国产精品久久久久永久免费观看| 一区二区三区中文在线观看| 日韩国产精品91| 成人禁用看黄a在线| 在线观看国产91| 精品少妇一区二区三区免费观看| 久久精品一区四区| 亚洲精品日韩一| 九色|91porny| 91影院在线免费观看| 日韩一区二区视频在线观看| 中文字幕精品一区二区三区精品| 一级女性全黄久久生活片免费| 免费日韩伦理电影| av中文字幕在线不卡| 91精品国产综合久久久久久久| 亚洲国产精品二十页| 同产精品九九九| 成人国产电影网| 欧美不卡视频一区| 亚洲黄色免费电影| 国产成人亚洲精品青草天美| 欧美日本一区二区三区| 国产精品乱码久久久久久| 日韩制服丝袜av| 91免费在线看| 久久久蜜桃精品| 日韩电影免费一区| 91在线观看地址| 久久一夜天堂av一区二区三区| 亚洲在线中文字幕| 成人免费毛片片v| 日韩女优电影在线观看| 亚洲男人的天堂网| 成人网在线免费视频| 亚洲精品一线二线三线无人区| 亚洲综合色区另类av| 成人av中文字幕| 久久蜜桃av一区二区天堂| 蜜桃av一区二区三区电影| 欧美视频一区二区在线观看| 国产精品国产馆在线真实露脸| 韩国精品主播一区二区在线观看| 欧美日韩国产综合久久| 一区二区理论电影在线观看| 国产91清纯白嫩初高中在线观看| 日韩免费观看高清完整版| 午夜精品成人在线| 欧美亚洲一区二区在线| 亚洲精品美国一| 91极品视觉盛宴| 综合色天天鬼久久鬼色| 成人黄色免费短视频| 日本一区二区三区四区在线视频| 老司机精品视频一区二区三区| 91精品在线观看入口| 天天综合色天天综合色h| 欧美视频三区在线播放| 亚洲线精品一区二区三区八戒| 色八戒一区二区三区| 亚洲精品中文字幕乱码三区| 在线一区二区观看| 一区二区三区久久|