2.4.1 移动多媒体API(MMAPI)
移动多媒体API(MMAPI)是为了使移动装置能够访问不同格式的媒体数据而设计的一个可选包,它由JCP组织在JSR135中定义,并且被设计成灵活的和平台无关的。它提供了一个标准的API,在资源受限设备上提供了对音频,视频的支持。
一般情况下,可以将媒体处理过程分解为两个过程:
(1)处理媒体数据的传输协议的过程。
处理传输协议的过程是指从数据源(如一个文件、一个捕获装置或一个流媒体服务器)上读取媒体数据内容后,将其传送到媒体处理系统中的过程。
MMAPI使用Data Source来处理媒体数据的传输协议的过程。一个Data Source知道如何从它的原始位置读取媒体数据并传送给媒体数据处理(Player)。媒体数据可以被保存在不同的位置,从远程服务器到资源文件或者RMS数据库。媒体数据可以从原始位置通过HTTP或者其他机制传输到媒体数据处理。
(2)处理媒体数据内容的过程。
处理媒体数据内容的过程通常需要对媒体数据进行解释和解码,并且还需要识别该媒体的输出设置的类型(如音频设置或者视频设置)。举个例子,Data Source从某媒体数据源上获取MP3媒体数据,并将其传送给Player处理媒体数据内容。此过程首先对这个MP3媒体数据进行解析和解码,同时检测该MP3媒体为音频数据,打开装置的音频设备,将解析和解码后的媒体数据直接传送到装置的音频设备缓冲中,由该音频设备根据缓冲区中的数据内容产生音频信号。
MMAPI使用Player来处理媒体数据内容,Player从Data Source中读取媒体数据、解析和解码数据以及识别媒体输出设备和传送媒体数据到输出设备等。
MMAPI还提供了一个或多个Controls来调整Player的行为,可以从媒体转换数据的时候从一个Player实例取得并且使用Controls。可以通过Player中提供的一些特殊的Controls访问一些特殊的媒体类型。
2.4.2 蓝牙无线技术APIs(JABWT)
Java蓝牙无线技术APIs (JABWT,Java APIs for Bluetooth Wireless Technology)由JSR82规范定义,支持快速开发便捷、安全及用途广泛的蓝牙应用。它包括设备管理,设备发现,服务发现等。
(1)设备管理
JABWT介绍了用于设备管理的两个类:LocalDevice和RemoteDevice。LocalDevice允许请求获得蓝牙设备的静态信息。RemoteDevice可用来获得蓝牙邻近区的设备信息(例如,某个远程蓝牙设备的地址),它可以代表一台远程设备(例如,一台在可到达范围内的设备),并提供相应的方法来获得关于这台设备的有关信息包括它的蓝牙地址和名称。
每个蓝牙设备有本文来自辣文论文网()方法可以使得其它蓝牙设备发现当前设备。
(2)设备发现
无线设备需要一种机制来允毕业论文http://www.751com.cn许发现其它的设备并访问它们。JABWT的DiscoveryAgent类和DiscoveryListener接口提供了需要发现服务的方法。DiscoveryAgent.startInquiry()方法可将设备设置为查询模式,为了充分利用这种模式,应用程序必须要指定一个事件监听器来对查询相关的事件做出反应。当查询完成或取消时会调用DiscoveryListener.inquiryCompleted()方法。
如果一台设备不想等待发现其它的设备,可以使用DiscoverAgent.retrieveDeviees()方法来获得一个己经存在的列表。该方法或者返回一个在前面的查询中发现的设备列表,或者返回一个预知的设备列表,返回哪种列表取决于传递的参数,当检测到一台新的蓝牙设备时,需要使用DiscoveryListener接口来通知。
(3)服务发现
服务发现允许发现附近的服务,而不管哪一台设备提供的该服务。DiscoverAgent提供的方法可以用来发现蓝牙设备上的服务,并初始化服务发现事务。在服务可以被发现以前,必须首先在蓝牙服务设备上注册或广播该服务。服务设备负责完成很多任务,包括创建描述所提供的服务记录,接受来自客户端的连接,向服务设备的服务发现数据库(SDDB)添加新的服务记录。
3.象棋引擎算法
本章将介绍象棋引擎算法的工作流程和引擎算法中用到的各个模块,包括走法产生器、Alpha-Beta搜索算法、评估算法等
3.1 引擎工作流程
首先使用一个数据结构来描述棋局信息,对某一特定的棋局信息由走法生成器生成当前下棋方所有合法的走法并依次存入走法队列。然后通过搜索算法来逐一读取走法并调用局面评估函数对该走法所产生的后继局面进行评估打分,从中选出一个最有可能导致走棋方取胜的走法。在搜索的过程中还可以采用一些辅助手段来提高搜索的效率。其过程如图3-1所示:
图3-1 引擎工作流程
3.2 棋盘表示
通常,用一个二文数组来描述棋盘及其上的棋子信息。中国象棋的棋盘可以用一个9×10个字节的二文数组来表示,数组中每一个字节代表棋盘上的一个交点,其值表明这个交点上放置的是一个什么棋子或是没有棋子。棋盘表示好比是整个象
上一页 [1] [2] [3] [4] [5] [6] [7] 下一页