日期:2014-05-20  浏览次数:20794 次

J2ME中GIF格式图片视频播放
在J2ME中关于GIF的视频播放代码如下:


package com.mopietek;

import java.io.IOException;
import java.io.InputStream;

import javax.microedition.lcdui.Display;
import javax.microedition.lcdui.Form;
import javax.microedition.lcdui.Item;
import javax.microedition.media.Manager;
import javax.microedition.media.MediaException;
import javax.microedition.media.Player;
import javax.microedition.media.control.VideoControl;
import javax.microedition.midlet.MIDlet;
import javax.microedition.midlet.MIDletStateChangeException;

public class GifPlayer extends MIDlet{

	private Display display;
	private Player player = null;
	
	
	protected void destroyApp(boolean unconditional) throws MIDletStateChangeException {
		// TODO Auto-generated method stub
		if(player != null){
			player.close();
			player = null;
		}
	}

	protected void pauseApp() {
		// TODO Auto-generated method stub
		
	}

	protected void startApp() throws MIDletStateChangeException {
		// TODO Auto-generated method stub
	   if(display == null){
		   display = Display.getDisplay(this);
	   }	
	   Form form = new Form("gif Player");
	   InputStream is = getClass().getResourceAsStream("/12.gif");
	   createPlayer(is);
	   if(player == null){
		  form.append("can not play image/gif");
	   }else{
		   VideoControl vc = (VideoControl)player.getControl("VideoControl");
		   if(vc != null){
			   form.append((Item)vc.initDisplayMode(VideoControl.USE_GUI_PRIMITIVE, null));
			   
		   }
	   }
	   display.setCurrent(form);
	   try{
		   player.start();
	   }catch(MediaException ex){
		   ex.printStackTrace();
	   }
	   
	}
	
	private void createPlayer(InputStream is){
		
		String [] contents = Manager.getSupportedContentTypes(null);
		for(int i=0;i<contents.length;i++){
			if(contents[i].toLowerCase().indexOf("image/gif") != -1){
				try{
					player = Manager.createPlayer(is,"image/gif");
					player.realize();
				}catch(IOException e){
					e.printStackTrace();
				}catch(MediaException me){
					me.printStackTrace();
				}
				
			}
		}
	}

	
}


注:附件中有代码的图片