第15章Java多媒体编程.

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

Java语言程序设计摘要作为一种独立的计算机语言体系,Java与其它语言相似,同样具备处理声音、图形、图像与动画的能力。其中基于Applet的技术是最先运用于网络中的动画方案。随着Flash及其它动画技术的应用,网络中的动画已经不再采用Applet方式,同时由于Java本身是基于JVM虚拟机进行工作,在图形与图像方面优势不明显,因此本章只简单说明Java的多媒体实现方法。Content1234Java与多媒体编程概述小应用程序Applet声音处理图形与图像处理5动画技术多媒体技术是指应用计算机技术综合处理和创作各种不同形式的媒体信息,例如文本、声音、图形、动画、静态图像和动态视频图像等,并以图、文、声、影并茂的表现方式提供直观、生动、形象的立体信息,便于人机互动交流。15.1Java与多媒体编程概述Java多媒体处理类和接口用于处理多媒体的类库有JavaMedia和JavaFoundationClasses(JFC,Java基础类)。类库中提供了极其方便而又丰富的接口(多媒体支持类库API),其中包括AWT(AbstractWindowToolkit)、Swing、Java2DAPI、Java3DAPI、JAI(JavaAdvancedImaging)、JavaSound、JT(JavaTelephony)、JSAPI(JavaSpeech)、JMF(JavaMediaFramework)和JSDTAPI(JavaSharedDataToolkit)等API,15.1Java与多媒体编程概述Java多媒体处理类和接口15.1Java与多媒体编程概述Java抽象窗口工具包,它实现了一组GUI(GraphicsUserInterface,图形用户界面)组件。AWT是Java2处理图形与窗体的工具包,在这个包中定义了窗口系统所显示的各种对象,它也是Java基础类(JFC)的一部分。AWT提供了一整套图形和用户界面技术,它是创建窗口图形用户界面的便利工具,其中可视化组件提供灵活的人机交互方案,使人机互动更为直观和生动,在AWT中还制定了响应和处理交互事件的机制AWT(AbstractWindowToolkit)API15.1Java与多媒体编程概述Swing是一组新的GUI(GraphicsUserInterface,图形用户界面)组件,它是用Java语言编写的,Swing扩展了AWT组件集。SwingAPI集成了JFC设计用户界面功能的核心部分,是对AWT组件的扩充和完善。同时还增加了一些AWT没有的新组件,例如树视图、列表框等。相比awt而言Swing可以实现与各种操作系统平台(例如Windows、Solaris、Macintosh)更吻合的外观效果。SwingAPI内容15.1Java与多媒体编程概述用于处理音频(声音)的API,它实际上是一个非常高质量的32声道音频播放器和MIDI控制的声音合成器。JavaSoundAPI支持多种音频文件格式,例如AIFF、AU和WAV格式,以及多种基于MIDI音乐的文件格式。JavaSoundAPI提供的音频播放器可以播放8比特或16比特、单声道或立体声、采样率在8kHz~48kHz范围内的各种音频数据。JavaSoundAPI内容15.1Java与多媒体编程概述根据媒体的不同性质,通常将媒体分为文字、声音、图形、图像、动画、视频、应用程序等文件类型,其表现形式通过计算机数据文件格式加以区分。例如,常见的媒体文件格式有纯文本格式、图形BMP格式、图像JPEG格式、动画GIF格式、声音媒体WAV格式和MIDI格式、视频AVI格式和MPEG格式以及应用程序文件格式等。计算机常用的多媒体文件类型15.1Java与多媒体编程概述Applet也被称为小应用程序,它没有main()方法,是一种必须在浏览器中运行的Java程序。它可以实现让Internet“动起来”的效果,它可以通过访问网络服务器在网络中传播与下载,还可以作为Web文档运行。为了保证系统安全,当用户在客户端下载相关的程序后,浏览器会限制其访问本地资源。15.2小应用程序Applet执行方式不同。Application以main()方法作为程序执行的入口在虚拟机中独立运行,它的结果取决于代码的内容与结构。Applet本身不能直接运行,必须嵌入到一个支持HTML(HyperTextMarkupLanuage,超文本标记语言)网页文件中的浏览器中,由浏览器加载执行。Applet也可以使用Appletviewer运行。它必须嵌入,通过此代码通知浏览器如何运行程序。Application和Applet的区别执行方式不同15.2小应用程序Applet操作远程本地AppletviewerApplication读本地文件NoNoYesYes写本地文件NoNoYesYes获取文件信息NoNoYesYes删除文件NoNoNoYes调用执行本地程序NoNoYesYes加载类库NoYesYesYes退出调用(Exit)NoNoYesYes连接其它主机NoYesYesYesJavaApplet与Application的区别与比较15.2小应用程序Applet由于Applet程序主要运行在网络中,在设计Applet程序的时候,首先考虑的是用户界面设计(GUI)。程序的交互性决定了程序的评价级别,在设计的过程中尽可能标准化。它需要让用户在使用的过程中轻松操作。15.2小应用程序AppletApplet的程序是一种特殊的Java程序,因此它能够实现跨平台的操作。另外一个很重要的原因是Applet代码很小,能够实现在网络中的快速下载与发送,并且能够在不需要修改的情况下通过Web页面展示效果,主要运用在Internet的平台环境中。目前的各种浏览器均支持动态的HTML技术(DHTML)和脚本编制,因此Applet相比早期的Java小应用程序,可以实现更多的内容。15.2小应用程序Applet15.2小应用程序AppletApplet运行环境Appletviewer是一个可运行Applet的Java应用程序,通常Applet是在支持Java的浏览器中运行,为了简化和加快Applet程序的开发过程,JDK中附带一个Appletviewer的工具,这是一个小的专用浏览器,通过它可以观察到Applet的运行情况。15.2小应用程序Applet使用Appletviewer运行Applet时,Appletviewer需要使用HTML文件名作为命令行的参数。如:appletviewerHelloWorld.html。注意,此处使用的命令行参数是HelloWorld.html,在此文件中应当使用Applet标记指明需要运行的Applet的名称。htmlappletcode=HelloWorld.classwidth=100height=100/applet/html其中通过applet指定了要运行的class文件是HelloWorld.class。Appletviewer只能识别HTML文件中的applet标记,其它的标记无法识别。因此不能使用Appletviewer观察网页的内容。用Appletview运行Applet15.2小应用程序AppletJava提供了Java.applet.Applet类,用于处理与Applet相关的运行,因此在编写Applet程序的时候,必须使用import加载这个类,然后再定义一个类继承Applet类,并将相关的程序编写在这个类中。Appler类除了拥有自己的方法,它同时还继承了父类(Panel类)的所有方法。15.2小应用程序AppletApplet从建立到执行分成以下四个环节①用Java语言编写一个Applet源程序②将Applet源程序编译成字节码(class文件)③将字节码文件嵌入到WEB页面中④用支持Java的浏览器运行、浏览15.2小应用程序AppletApplet从开始运行到结束所经历的过程被称为Applet的生命周期,它涉及init()、start()、stop()和destroy()四种方法。均可以被继承或重写。Applet从建立到执行分成以下四个环节15.2小应用程序Applet15.2小应用程序Applet【例15-1】Applet处理控件importJava.awt.*;importJava.applet.*;publicclassEx15_1_FlowLayoutTestextendsApplet{Buttonb1,b2,b3;TextFieldtf;Labellab;publicvoidinit(){b1=newButton(ok);b2=newButton(open);b3=newButton(close);15.2小应用程序Applet文字效果网页代码15.2小应用程序AppletimportJava.awt.*;importJava.applet.Applet;publicclassEx15_2_AppletextendsApplet{publicvoidpaint(Graphicsg)htmlbodybgcolor=FFFF00appletcode=Ex15_2_Applet.classwidth=240height=170alt=很抱歉,您的浏览器不支持Javaappletalign=rightvspace=15.2小应用程序Applet声音是多媒体技术的基础,可以创造意境,触发遐想,当与图像相结合时,可以提高用户体验度。在Java2平台出现之前,Java语言只能处理电话音质的声音,以单声道8KHZ的采样频率存储为μ-lawAU文件。Java2平台增加了对AIFF,WAV以及三种MIDI文件类型的支持。所支持的三种MIDI文件格式为MIDI文件类型0、MIDI文件类型1、以及RMF。15.3声音处理Java声音引擎是软件MIDI合成器,采样播放设备,以及16位立体混声器。它支持混合直到64位的立体MIDI声音和音频采样。它直接支持MIDI类型0和类型1文件以及从8位设备到16位乐器的波表合成。该引擎支持所有通用的MIDI控制器并且包含如回声处理,控制过滤器或立体声设备的特性。15.3声音处理在JDK1.0.x及JDK1.1.x支持下,AudioClip接口的应用方式与Applet相似。主要由AudioClip接口、播放、循环、停止、恢复和播放声音组成。其中最简单的方法是通过Applet类的play()方法。调用play()方法有如下二种方式:play()-带有一个参数,一个URL对象,装载并演奏储存在URL处的声音片断。play()-带有二个参数,基本URL和文件夹路径名,装载并演奏声音文件。第一参数经常是对getCodeBase()或getDocumentBase()的调用。接口功能15.3声音处理15.3声音处理AudioClipco=getAudioClip(getCodeBase(),horns.wav);getAudioClip()方法仅仅能被applet内调用。随着Java2的引入,应用程序也能用Applet类的newAudioClip方法装入声音文件。前一例子可以改写如下以用于Java应用程序:AudioClipco=newAudioClip(horns.wav);加载声音文件进入剪贴对象方法说明15.3声音处理在创建AudioClip对象之后,可用该对象调用play()、loop()以及stop()方法。假如getAudioClip或newAudioClip方法不能找到指定的声音文件,AudioClip对象的值将是空的。在播放空对象会导致出错,所以标准的过程首先是对该条件进行检测。通过一个完整的程序示例可以了解声音的实现方式。该程序将产生一个applet,当鼠标在应用程序applet范围内按下时会播放音乐样本。15.3声音处理15.3声音处理/**声音测试程序*/importjava.io.File;importjava.io.IOExcep

1 / 54
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功