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

📄 videosettings.java

📁 我们提供的VideoIM手机自动拍照上传器J2ME版本[开源]就是这么一种概念: 一个可以下载到手机(例如Nokia7610已经确实可以下载安装并正常运行)的Java应用程序
💻 JAVA
字号:
/**
//VideoIM文档生成日期:2005.10.12
//
//(1)概述:
//类名称:VideoSettings
//类说明:
//	提供存储和读取RMS中关于本应用所需要的几个参数的功能
* 
//所在子系统:VideoIM
//
//系统总描述:
	    我们提供的VideoIM手机自动拍照上传器J2ME版本[开源]是
	    一个可以下载到手机(例如Nokia7610已经确实可以下载安装并正常运行)的应用程序,
	    用来自动驱动手机摄像头定时拍摄,并后台将JPEG图像(很小,大约几KB)上传到服务器上,
	    这样就可以帮助其他系统工作,比如PC机上的MSN Messenger可以和你的移动MSN Messenger
	    通过这种方式视频聊天,对方可以每隔十几秒钟看到你的手机所看到的画面了。

	 子系统描述:
		VideoIM的功能列表:
			1:我要MobileWebCam
				启动MobileWebCam
				停止MobileWebCam
			2:MobileWebCam设置
			3:关于我
			4:退出


//(2)历史记录:
//创建人: 郑昀(2005.10.12)
//联系我: Google Talk >> zhengyun@gmail.com
//Blogs:    http://blog.csdn.net/zhengyun_ustc/以及http://www.cnblogs.com/zhengyun_ustc

//(3)版权声明:
//由于我这个版本的VideoIM手机自动拍照上传器也是基于Mowecam的设计理念基础上改编而来的,
//所以决定遵照GPL协议的大意开放源代码,您可以自由传播和修改,在遵照GPL协议的约束条件的前提下。

//(4)相关资源:
1:《[J2ME]VideoIM手机自动拍照上传器开源说明》
2:《[J2ME]VideoIM手机自动拍照上传器设计说明》
3:下载源代码:

////////////////////////////////////////////////////////////////////*/
package com.ultrapower.model;

import java.io.IOException;

import javax.microedition.midlet.MIDlet;
import javax.microedition.rms.RecordStoreException;

import com.ultrapower.common.StoreResources;
import com.ultrapower.control.GUIController;
import com.ultrapower.facade.RmsFacade;

/**********************************************************
//VideoSettings
//
//Class Description:
//	提供存储和读取RMS中关于本应用所需要的几个参数的功能
//
//Author:
//   zhengyun@ultrapower 2005.10.12
//
**********************************************************/
public class VideoSettings {

	private static VideoSettings 	 m_settings;
    /**
     * Singleton pattern is used to return 
     * only one instance of VideoSettings
     */
    public static synchronized VideoSettings getInstance(){
        if( m_settings == null ) {
			System.out.println("!-- VideoSettings::getInstance --!\n");
			m_settings = new VideoSettings();
			try
	        {			
				m_settings.LoadSettings();
				System.out.println("选择从RMS中读取设置");
	        }
	        catch(Exception exc)
	        {	
				m_settings.InitDefaultSettings();
				System.out.println("从RMS中无法读取,改为默认数值");
	        }
        }
        return m_settings;
    }
	
  /** "抓拍图像的保存类型" */
  protected char[] m_sSnapshotImageType;
  /** "抓拍图像的宽度" */
  protected int m_nSnapshotImageWidth;
  /** "抓拍图像的长度" */
  protected int m_nSnapshotImageHeight;
  /** player name(用来作唯一标示,以使用户将来能够取出上传的图像) */
  protected char[] m_sPlayerName;
  /** "远程服务器接受上传图像的页面地址" */
  protected char[] m_sRemoteServerUploadPageURL;
  /** "每多少秒钟抓拍一次图像" */
  protected int m_nTimerSnapshot;
  
  ///////////////////////////////////////////////////////////////////
  
  /**
   * Returns "抓拍图像的保存类型".
   * @return	抓拍图像的保存类型.
   */
  public char[] getSnapshotImageType()
  {
    return m_sSnapshotImageType;
  }
  
  /**
   * Returns "抓拍图像的宽度".
   * @return	抓拍图像的宽度.
   */
  public int getSnapshotImageWidth()
  {
    return m_nSnapshotImageWidth;
  }
  
  /**
   * Returns "抓拍图像的长度".
   * @return	抓拍图像的长度.
   */
  public int getSnapshotImageHeight()
  {
    return m_nSnapshotImageHeight;
  }
  
  /**
   * Returns player name(用来作唯一标示,以使用户将来能够取出上传的图像).
   * @return	player name.
   */
  public char[] getPlayerName()
  {
    return m_sPlayerName;
  }
  
  /**
   * Returns "远程服务器接受上传图像的页面地址".
   * @return	远程服务器接受上传图像的页面地址.
   */
  public char[] getRemoteServerUploadPageURL()
  {
    return m_sRemoteServerUploadPageURL;
  }
  
  /**
   * Returns "每多少秒钟抓拍一次图像".
   * @return	每多少秒钟抓拍一次图像.
   */
  public int getTimerSnapshot()
  {
    return m_nTimerSnapshot;
  }
  
  ///////////////////////////////////////////////////////////////////
  
  /**
   * set "抓拍图像的保存类型".
   * @param 抓拍图像的保存类型.
   */
  public void setSnapshotImageType(char[] value)
  {
    m_sSnapshotImageType = value;
  }
  
  /**
   * set "抓拍图像的宽度".
   * @param	 抓拍图像的宽度.
   */
  public void setSnapshotImageWidth(int value)
  {
    m_nSnapshotImageWidth = value;
  }
  
  /**
   * set "抓拍图像的长度".
   * @param	 抓拍图像的长度.
   */
  public void setSnapshotImageHeight(int value)
  {
    m_nSnapshotImageHeight = value;
  }
  
  /**
   * set player name(用来作唯一标示,以使用户将来能够取出上传的图像).
   * @param	 player name.
   */
  public void setPlayerName(char[] value)
  {
    m_sPlayerName = value;
  }
  
  /**
   * set "远程服务器接受上传图像的页面地址".
   * @param	 远程服务器接受上传图像的页面地址.
   */
  public void setRemoteServerUploadPageURL(char[] value)
  {
    m_sRemoteServerUploadPageURL = value;
  }
  
  /**
   * set "每多少秒钟抓拍一次图像".
   * @param 	每多少秒钟抓拍一次图像.
   */
  public void setTimerSnapshot(int value)
  {
    m_nTimerSnapshot = value;
  }
  
  /////////////////////////////////////////////////////////////
  
  /**
   * 将当前用户设置的各项参数写入到RMS中.
   */
  public void save()
  {
    RmsFacade.setChars(StoreResources.SNAPSHOT_IMAGE_TYPE,
			m_sSnapshotImageType);
    RmsFacade.setInt(StoreResources.SNAPSHOT_IMAGE_WIDTH,
			m_nSnapshotImageWidth);
    RmsFacade.setInt(StoreResources.SNAPSHOT_IMAGE_HEIGHT,
			m_nSnapshotImageHeight);
    RmsFacade.setChars(StoreResources.PLAYER_NAME,
			m_sPlayerName);
    RmsFacade.setChars(StoreResources.REMOTESERVER_URL,
			m_sRemoteServerUploadPageURL);
    RmsFacade.setInt(StoreResources.TIMER_SNAPSHOT,
			m_nTimerSnapshot);
  }
  
  /**
   * 将当前用户设置的各项参数写入到RMS中.
   */
  public void save(char[] sSnapshotImageType,
		  String sSnapshotImageWidth,
		  String sSnapshotImageHeight,
		  String sPlayerName,
		  String sRemoteServerUploadPageURL,
		  String sTimerSnapshot)
  {
	System.out.println("Enter VideoSettings::save");
    RmsFacade.setChars(StoreResources.SNAPSHOT_IMAGE_TYPE,
			sSnapshotImageType);
	m_sSnapshotImageType = sSnapshotImageType;
	
	m_nSnapshotImageWidth = Integer.valueOf(sSnapshotImageWidth).intValue();
    RmsFacade.setInt(StoreResources.SNAPSHOT_IMAGE_WIDTH,
			m_nSnapshotImageWidth);
		
	m_nSnapshotImageHeight = Integer.valueOf(sSnapshotImageHeight).intValue();
    RmsFacade.setInt(StoreResources.SNAPSHOT_IMAGE_HEIGHT,
			m_nSnapshotImageHeight);
	
	m_sPlayerName = sPlayerName.toCharArray();
    RmsFacade.setChars(StoreResources.PLAYER_NAME,
			m_sPlayerName);
	
	m_sRemoteServerUploadPageURL = sRemoteServerUploadPageURL.toCharArray();
    RmsFacade.setChars(StoreResources.REMOTESERVER_URL,
			m_sRemoteServerUploadPageURL);
	
	m_nTimerSnapshot = Integer.valueOf(sTimerSnapshot).intValue();
    RmsFacade.setInt(StoreResources.TIMER_SNAPSHOT,
			m_nTimerSnapshot);
  }
  
  /**
   * 直接从RMS将各项参数提取出来
   */
  public void LoadSettings()
  throws RecordStoreException
  {
	  m_sSnapshotImageType = RmsFacade.getChars(StoreResources.SNAPSHOT_IMAGE_TYPE);
	  if(m_sSnapshotImageType.length > 0)
		  System.out.println("有数据:" + m_sSnapshotImageType);
	  else
	  {
		  // 说明没有RMS记录,可能是第一次运行本应用
		  throw new RecordStoreException();
	  }
		 
	  m_nSnapshotImageWidth = RmsFacade.getInt(StoreResources.SNAPSHOT_IMAGE_WIDTH);
	  
	  m_nSnapshotImageHeight = RmsFacade.getInt(StoreResources.SNAPSHOT_IMAGE_HEIGHT);
	  
	  m_sPlayerName = RmsFacade.getChars(StoreResources.PLAYER_NAME);
	  
	  m_sRemoteServerUploadPageURL = RmsFacade.getChars(StoreResources.REMOTESERVER_URL);
	  
	  m_nTimerSnapshot = RmsFacade.getInt(StoreResources.TIMER_SNAPSHOT);
  }
  
  /**
   * Initializes this videoim
   */
  public void InitDefaultSettings()
  {
	  m_sSnapshotImageType = StoreResources.DEFAULT_IMAGE_TYPE.toCharArray();
	  m_nSnapshotImageWidth = 120;
	  m_nSnapshotImageHeight = 100;
	  m_sPlayerName = StoreResources.DEFAULT_PLAYER_NAME.toCharArray();
	  m_sRemoteServerUploadPageURL = StoreResources.DEFAULT_REMOTESERVER.toCharArray();
	  m_nTimerSnapshot = 20;
	  
	  // 将默认的数值写入RMS
	  save();
  }
}

⌨️ 快捷键说明

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