⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 realmedia.java

📁 window下使用j2ee的jms工具做的网络应用的一个架构程序
💻 JAVA
字号:
import java.util.*;
import java.awt.*;
import java.applet.*;

public class RealMedia extends Component implements Runnable
{
	private Loadable lb;
	private Hashtable htImage, htsound;
	private Stack st1,st2;
	private int delay, size;
	private boolean loadFlag = true;
	private MediaTracker mt;
	private boolean loading;
	private Thread pauseThread;

	public RealMedia(Loadable lb)
	{
		this.lb = lb;
		htImage = new Hashtable();
		htsound = new Hashtable();
		st1 = new Stack();
		st2 = new Stack();
		mt = new MediaTracker(this);
		pauseThread = new Thread(this);
		setDelay(40);
		
	}

	public void add(String file)
	{

		st1.push(getMedia(file));
		st2.push(file);
	}


	public void add(String file,String name)
	{

		st1.push(getMedia(file));
		st2.push(name);
	}

	public Image get(String name)
	{
		
		return (Image)htImage.get(name);
	}
	
	public void play(String name)
	{
		
		AudioClip sound = (AudioClip)htsound.get(name);
		sound.play();
	}
	

	public int getCurrent()
	{
		return size-st1.size();
	}
	
	public int getPercent() 
	{
		return (int)((double)getCurrent()/(double)size*100);
	}
	
	public int getTotalFiles()
	{
		return size;
	}
	
	public void load() 
	{
		
		size = st1.size();
		pauseThread.start();
	}
	
	public void setDelay(int delay)
	{
		this.delay = delay;
	}

	public boolean isLoaded()
	{
		return st1.empty();
	}




	private Object getMedia(String file)
	{
		if (isAudio(file)) return new String(file);
		else return lb.loadImage(file);
	}



	private void loadNext()
	{
		
		
		if (!st1.empty() && !loading)
		{
			
			loading = true;
			mt = new MediaTracker(this);
			Object currentFile = null;
			String currentName = "";
			currentFile = (Object)st1.pop();
			currentName = (String)st2.pop();
						
			if (currentFile instanceof Image)
			{
				
				mt.addImage((Image)currentFile,0);
				htImage.put(currentName,(Image)currentFile);
			
			}
			else if (currentFile instanceof String) 
			{
				htsound.put(currentName,lb.loadAudio((String)currentFile));
			}
			try
			{
				mt.waitForAll();
			}
			catch (Exception p)
			{
			}

		}
		loading = false;
		

		
	}
	
	public void run() 
	{
	  while (!st1.empty()) 
	  {
	  	loadNext();
		lb.repaint();
		try 
		{
			pauseThread.sleep(delay);
		}
		catch (Exception e)
		{
		}
	  }
	  lb.startUp();
	  pauseThread = null;
	  System.out.println("Media Fully Loaded");
	  
	}
	

	
	private boolean isAudio(String file)
	{
		if (file.endsWith(".au")) return true;
		else return false;
	}

}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -