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

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

?? player.java

?? Java編寫的一個(gè)mp3播放器源代碼,對(duì)于想做這方面工作的網(wǎng)友來說還是有很大的參考價(jià)值的
?? JAVA
字號(hào):
/*
 * 11/19/04		1.0 moved to LGPL.
 * 29/01/00		Initial version. mdm@techie.com
 *-----------------------------------------------------------------------
 *   This program is free software; you can redistribute it and/or modify
 *   it under the terms of the GNU Library 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 Library General Public License for more details.
 *
 *   You should have received a copy of the GNU Library General Public
 *   License along with this program; if not, write to the Free Software
 *   Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
 *----------------------------------------------------------------------
 */

package javazoom.jl.player;

import java.io.InputStream;

import javazoom.jl.decoder.Bitstream;
import javazoom.jl.decoder.BitstreamException;
import javazoom.jl.decoder.Decoder;
import javazoom.jl.decoder.Header;
import javazoom.jl.decoder.JavaLayerException;
import javazoom.jl.decoder.SampleBuffer;
	
/**
 * The <code>Player</code> class implements a simple player for playback
 * of an MPEG audio stream. 
 * 
 * @author	Mat McGowan
 * @since	0.0.8
 */

// REVIEW: the audio device should not be opened until the
// first MPEG audio frame has been decoded. 
public class Player
{	  	
	/**
	 * The current frame number. 
	 */
	private int frame = 0;
	
	/**
	 * The MPEG audio bitstream. 
	 */
	// javac blank final bug. 
	/*final*/ private Bitstream		bitstream;
	
	/**
	 * The MPEG audio decoder. 
	 */
	/*final*/ private Decoder		decoder; 
	
	/**
	 * The AudioDevice the audio samples are written to. 
	 */
	private AudioDevice	audio;
	
	/**
	 * Has the player been closed?
	 */
	private boolean		closed = false;
	
	/**
	 * Has the player played back all frames from the stream?
	 */
	private boolean		complete = false;

	private int			lastPosition = 0;
	
	/**
	 * Creates a new <code>Player</code> instance. 
	 */
	public Player(InputStream stream) throws JavaLayerException
	{
		this(stream, null);	
	}
	
	public Player(InputStream stream, AudioDevice device) throws JavaLayerException
	{
		bitstream = new Bitstream(stream);		
		decoder = new Decoder();
				
		if (device!=null)
		{		
			audio = device;
		}
		else
		{			
			FactoryRegistry r = FactoryRegistry.systemRegistry();
			audio = r.createAudioDevice();
		}
		audio.open(decoder);
	}
	
	public void play() throws JavaLayerException
	{
		play(Integer.MAX_VALUE);
	}
	
	/**
	 * Plays a number of MPEG audio frames. 
	 * 
	 * @param frames	The number of frames to play. 
	 * @return	true if the last frame was played, or false if there are
	 *			more frames. 
	 */
	public boolean play(int frames) throws JavaLayerException
	{
		boolean ret = true;
			
		while (frames-- > 0 && ret)
		{
			ret = decodeFrame();			
		}
		
		if (!ret)
		{
			// last frame, ensure all data flushed to the audio device. 
			AudioDevice out = audio;
			if (out!=null)
			{				
				out.flush();
				synchronized (this)
				{
					complete = (!closed);
					close();
				}				
			}
		}
		return ret;
	}
		
	/**
	 * Cloases this player. Any audio currently playing is stopped
	 * immediately. 
	 */
	public synchronized void close()
	{		
		AudioDevice out = audio;
		if (out!=null)
		{ 
			closed = true;
			audio = null;	
			// this may fail, so ensure object state is set up before
			// calling this method. 
			out.close();
			lastPosition = out.getPosition();
			try
			{
				bitstream.close();
			}
			catch (BitstreamException ex)
			{
			}
		}
	}
	
	/**
	 * Returns the completed status of this player.
	 * 
	 * @return	true if all available MPEG audio frames have been
	 *			decoded, or false otherwise. 
	 */
	public synchronized boolean isComplete()
	{
		return complete;	
	}
				
	/**
	 * Retrieves the position in milliseconds of the current audio
	 * sample being played. This method delegates to the <code>
	 * AudioDevice</code> that is used by this player to sound
	 * the decoded audio samples. 
	 */
	public int getPosition()
	{
		int position = lastPosition;
		
		AudioDevice out = audio;		
		if (out!=null)
		{
			position = out.getPosition();	
		}
		return position;
	}		
	
	/**
	 * Decodes a single frame.
	 * 
	 * @return true if there are no more frames to decode, false otherwise.
	 */
	protected boolean decodeFrame() throws JavaLayerException
	{		
		try
		{
			AudioDevice out = audio;
			if (out==null)
				return false;

			Header h = bitstream.readFrame();	
			
			if (h==null)
				return false;
				
			// sample buffer set when decoder constructed
			SampleBuffer output = (SampleBuffer)decoder.decodeFrame(h, bitstream);
																																					
			synchronized (this)
			{
				out = audio;
				if (out!=null)
				{					
					out.write(output.getBuffer(), 0, output.getBufferLength());
				}				
			}
																			
			bitstream.closeFrame();
		}		
		catch (RuntimeException ex)
		{
			throw new JavaLayerException("Exception decoding audio frame", ex);
		}
/*
		catch (IOException ex)
		{
			System.out.println("exception decoding audio frame: "+ex);
			return false;	
		}
		catch (BitstreamException bitex)
		{
			System.out.println("exception decoding audio frame: "+bitex);
			return false;	
		}
		catch (DecoderException decex)
		{
			System.out.println("exception decoding audio frame: "+decex);
			return false;				
		}
*/		
		return true;
	}

	
}

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
色噜噜偷拍精品综合在线| 久久久国产一区二区三区四区小说| 欧美一区二区三区免费在线看| 欧美国产日韩a欧美在线观看 | 久久麻豆一区二区| 亚洲国产成人高清精品| 99精品视频在线播放观看| 日韩欧美电影在线| 亚洲五码中文字幕| 91香蕉国产在线观看软件| 26uuu成人网一区二区三区| 日韩精品色哟哟| 一本一道综合狠狠老| 国产精品色呦呦| 国内精品国产成人| 日韩丝袜情趣美女图片| 亚洲综合色婷婷| 一本大道av一区二区在线播放| 欧美国产视频在线| 高清不卡在线观看av| 久久久亚洲欧洲日产国码αv| 美女尤物国产一区| 日韩欧美国产综合一区| 日韩精品欧美成人高清一区二区| 在线免费观看日本一区| 亚洲主播在线观看| 欧美午夜电影网| 亚洲地区一二三色| 欧美军同video69gay| 日韩精品一卡二卡三卡四卡无卡| 欧美日韩三级一区二区| 亚洲成人中文在线| 欧美日韩大陆在线| 美脚の诱脚舐め脚责91 | 国产欧美视频一区二区| 激情欧美日韩一区二区| 久久亚洲一区二区三区四区| 美女高潮久久久| 精品久久久久久久久久久久久久久 | 午夜精品久久久久久不卡8050| 91黄色在线观看| 亚洲123区在线观看| 日韩欧美亚洲国产另类| 精品一区二区三区香蕉蜜桃| 久久这里都是精品| 不卡电影免费在线播放一区| 亚洲激情在线激情| 欧美高清视频一二三区| 久久超碰97中文字幕| 日本一区二区在线不卡| 91国产免费看| 日本视频免费一区| 亚洲国产精品ⅴa在线观看| 91久久国产最好的精华液| 首页国产丝袜综合| 国产日韩欧美一区二区三区综合 | 日韩欧美在线不卡| 国产成人日日夜夜| 亚洲高清视频在线| 亚洲精品一线二线三线| 91在线一区二区| 日韩—二三区免费观看av| 国产清纯在线一区二区www| 欧美性生活一区| 国产美女主播视频一区| 一区二区三区四区国产精品| 精品久久一二三区| 欧美性感一区二区三区| 国产精品一区二区x88av| 樱花影视一区二区| 久久亚洲精精品中文字幕早川悠里| 成人白浆超碰人人人人| 蜜桃av一区二区在线观看| 中文字幕中文字幕在线一区| 91精品国产高清一区二区三区 | 精品污污网站免费看| 国产suv精品一区二区6| 视频一区二区国产| ...av二区三区久久精品| 精品嫩草影院久久| 欧美色中文字幕| 成人精品在线视频观看| 久久精品国产一区二区三区免费看| 亚洲色图欧美偷拍| 亚洲精品一区二区三区福利| 欧美日韩一区国产| 91亚洲精品一区二区乱码| 黑人精品欧美一区二区蜜桃| 亚洲小说欧美激情另类| 自拍偷拍欧美精品| 久久久www免费人成精品| 欧美日韩精品是欧美日韩精品| 成人av影院在线| 成人午夜短视频| 国产乱码精品一区二区三 | 欧美日韩一区二区三区四区 | 欧美久久久久久蜜桃| 91亚洲永久精品| 国v精品久久久网| 国产乱码精品一区二区三| 蜜桃精品视频在线| 热久久一区二区| 五月天一区二区| 亚洲国产成人av| 天天色图综合网| 午夜伦理一区二区| 日韩高清不卡一区二区| 免费观看一级欧美片| 天堂午夜影视日韩欧美一区二区| 亚洲一区日韩精品中文字幕| 亚洲一区二区五区| 亚洲成人黄色小说| 日韩精品成人一区二区在线| 日本欧美韩国一区三区| 美女性感视频久久| 国产一区二区三区免费看| 国产在线看一区| 国产精品911| 成人一区二区在线观看| 成人黄色网址在线观看| 91啪亚洲精品| 欧美日韩视频不卡| 精品欧美乱码久久久久久| 久久香蕉国产线看观看99| 中文在线一区二区| 亚洲自拍欧美精品| 免费在线观看视频一区| 国产一区二区三区美女| 成人免费视频一区| 在线观看日韩精品| 精品剧情v国产在线观看在线| 国产欧美日韩在线观看| 亚洲精品久久嫩草网站秘色| 三级久久三级久久| 国精产品一区一区三区mba视频 | 国产精品一区二区三区99| 成人亚洲精品久久久久软件| 色欧美88888久久久久久影院| 91高清视频在线| 日韩免费观看2025年上映的电影 | 日韩欧美精品三级| 国产欧美日韩中文久久| 亚洲夂夂婷婷色拍ww47| 久久丁香综合五月国产三级网站| 成人h动漫精品| 51久久夜色精品国产麻豆| 国产清纯在线一区二区www| 亚洲一线二线三线视频| 精品无人区卡一卡二卡三乱码免费卡| 国产91精品精华液一区二区三区| 91免费看`日韩一区二区| 91精品国产综合久久福利 | 久久综合色天天久久综合图片| 国产精品麻豆视频| 日韩中文字幕亚洲一区二区va在线| 国产精品99久久久久久有的能看| 色综合久久中文综合久久牛| 欧美成人性战久久| 伊人婷婷欧美激情| 国产米奇在线777精品观看| 欧美日韩亚洲综合| 中文字幕欧美一| 国产精品中文字幕一区二区三区| 色婷婷精品久久二区二区蜜臀av| 久久综合久久综合久久综合| 亚洲电影在线免费观看| aaa欧美大片| 久久久久久久久一| 人禽交欧美网站| 在线精品亚洲一区二区不卡| 国产精品网曝门| 极品少妇一区二区| 在线不卡a资源高清| 亚洲夂夂婷婷色拍ww47| 成人黄色大片在线观看| 91免费国产在线| 91高清在线观看| 国产午夜精品在线观看| 婷婷激情综合网| 色综合夜色一区| 综合中文字幕亚洲| 成人永久看片免费视频天堂| 日韩你懂的在线播放| 天堂久久一区二区三区| 欧美无砖专区一中文字| 亚洲精品视频观看| 99riav一区二区三区| 中文字幕乱码一区二区免费| 国产黑丝在线一区二区三区| 日韩视频123| 免播放器亚洲一区| 日韩欧美视频在线| 久久97超碰国产精品超碰| 欧美一区二区在线观看| 日韩精品1区2区3区| 欧美一区国产二区| 免费人成网站在线观看欧美高清| 欧美日韩精品二区第二页| 婷婷中文字幕一区三区| 3751色影院一区二区三区|