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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? 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++]);

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
午夜免费欧美电影| 欧美极品美女视频| 亚洲中国最大av网站| 一本到三区不卡视频| 一区二区三区四区不卡视频| 色悠久久久久综合欧美99| 亚洲综合一区二区三区| 777奇米成人网| 国内欧美视频一区二区| 国产精品污www在线观看| 91麻豆精品一区二区三区| 亚洲综合清纯丝袜自拍| 欧美一级生活片| 国产精品一线二线三线精华| 国产精品久久久久久久久果冻传媒| 99re热这里只有精品视频| 亚洲国产成人av网| 精品女同一区二区| 99精品一区二区| 日一区二区三区| 国产日韩欧美一区二区三区乱码| 97久久超碰精品国产| 视频在线观看国产精品| 日本一区二区视频在线| 欧洲av一区二区嗯嗯嗯啊| 久久国产精品色| 一区二区国产视频| xf在线a精品一区二区视频网站| 精品国内二区三区| 91在线观看免费视频| 日本伊人色综合网| 国产精品的网站| 欧美一区中文字幕| 99久久99久久精品国产片果冻 | 久久久久久久久久电影| 日本精品视频一区二区三区| 裸体一区二区三区| 亚洲精品美腿丝袜| 国产丝袜美腿一区二区三区| 欧美日韩国产综合一区二区| 粉嫩在线一区二区三区视频| 视频一区免费在线观看| 亚洲欧美色一区| 久久久精品国产免大香伊| 欧美剧在线免费观看网站| 99精品在线免费| 国产高清在线精品| 免费成人av资源网| 亚洲成人免费在线观看| 国产精品不卡一区| 久久久91精品国产一区二区精品| 91麻豆精品国产91久久久资源速度| 91在线视频观看| 成人小视频免费在线观看| 久久99国产精品尤物| 日韩高清在线一区| 伊人婷婷欧美激情| 亚洲欧洲另类国产综合| 国产三级一区二区| 2023国产精品视频| 精品福利一区二区三区免费视频| 欧美福利视频导航| 欧美日韩国产一二三| 91老司机福利 在线| 99热精品一区二区| 不卡一区二区在线| 成人av影视在线观看| 国产不卡视频一区| 国产一区二区美女| 国产麻豆精品视频| 日韩欧美亚洲一区二区| 欧美精品久久一区| 欧美久久一二三四区| 欧美精选在线播放| 777亚洲妇女| 日韩欧美在线123| 精品理论电影在线| 久久你懂得1024| 中文字幕乱码亚洲精品一区| 欧美激情综合在线| 国产精品电影一区二区| 亚洲免费在线观看| 夜夜爽夜夜爽精品视频| 亚洲高清在线精品| 蜜桃一区二区三区在线观看| 久国产精品韩国三级视频| 国模无码大尺度一区二区三区| 国产在线一区二区| 成人黄色在线视频| 日本韩国一区二区三区| 欧美区视频在线观看| 水蜜桃久久夜色精品一区的特点| 精品国产伦一区二区三区观看体验| 欧美视频在线一区二区三区| 成人av网址在线观看| 国产精品18久久久| 韩国女主播成人在线| 蜜桃av噜噜一区| 日日嗨av一区二区三区四区| 亚洲国产另类精品专区| 亚洲乱码日产精品bd| 国产精品久久久久一区| 国产欧美精品一区二区色综合朱莉| 欧美一区二区三区四区视频| 亚洲r级在线视频| 亚洲成人自拍网| 国产麻豆精品视频| 欧美在线免费视屏| 久久―日本道色综合久久| 亚洲少妇中出一区| 久久精品国产99国产精品| 成人精品gif动图一区| 欧美日韩精品专区| 久久久国产综合精品女国产盗摄| 亚洲精品中文字幕在线观看| 免费人成在线不卡| 91在线免费看| 日韩欧美成人激情| 亚洲人成网站在线| 精一区二区三区| 色爱区综合激月婷婷| 欧美v国产在线一区二区三区| 中文字幕永久在线不卡| 毛片av一区二区| 国产精品久久久久一区| 日韩 欧美一区二区三区| av一区二区三区| 久久亚洲精华国产精华液| 亚洲综合小说图片| 岛国一区二区在线观看| 欧美电影在线免费观看| 日韩一区在线免费观看| 国内精品写真在线观看| 欧美电影一区二区| 亚洲精选视频在线| 成人激情av网| 久久在线免费观看| 日本不卡123| 欧美色国产精品| 国产精品久久久久毛片软件| 美女尤物国产一区| 9191久久久久久久久久久| 亚洲免费在线电影| 成人avav影音| 国产日韩亚洲欧美综合| 极品尤物av久久免费看| 欧美日韩免费视频| 日韩美女视频一区二区| 成人中文字幕电影| 久久综合视频网| 蜜臀精品久久久久久蜜臀| 欧美日本精品一区二区三区| 亚洲视频免费观看| 91在线视频网址| 中文字幕一区二区三区在线观看| 国产精品资源网| 久久一夜天堂av一区二区三区 | 国产精品美女久久久久高潮| 精品无人码麻豆乱码1区2区 | 欧美视频日韩视频在线观看| 中文字幕在线观看不卡| 国产 欧美在线| 日本一二三四高清不卡| 高清不卡一区二区在线| 国产精品美女久久久久aⅴ| 丁香啪啪综合成人亚洲小说 | 91精品国产一区二区三区香蕉| 亚洲愉拍自拍另类高清精品| 色哟哟日韩精品| 亚洲一区二区视频在线观看| 欧美伊人精品成人久久综合97| 一区二区三区免费看视频| 欧美性三三影院| 日本女优在线视频一区二区| 91精品国产综合久久精品图片 | 亚洲一区二区三区精品在线| 91麻豆免费观看| 亚洲综合成人在线| 91.麻豆视频| 精品一区二区三区在线观看| 久久免费视频一区| www.爱久久.com| 亚洲一二三四在线观看| 91精品国产一区二区| 黄一区二区三区| 中文欧美字幕免费| 91高清在线观看| 日本在线不卡视频| 国产偷v国产偷v亚洲高清| 色综合中文综合网| 国产日韩欧美精品一区| eeuss国产一区二区三区| 亚洲综合免费观看高清完整版| 欧美男人的天堂一二区| 久久爱另类一区二区小说| 国产精品视频免费看| 欧洲精品在线观看| 国产在线视频一区二区| 亚洲人午夜精品天堂一二香蕉| 欧美高清性hdvideosex|