首页 理论教育JSP实训教程-音乐、视频和Flash动画播放实现

JSP实训教程-音乐、视频和Flash动画播放实现

【摘要】:不同的浏览器对声音、动画以及视频的处理方式是各不相同的。以.swf为扩展名的视频文件是Shockwave格式的视频文件。仅有IE支持该标记。W3C推荐使用<object>标记来播放Flash动画、音乐和视频等媒介类型。播放flash动画其中,classid的值“clsid:D27CDB6E-AE6D-11cf-96B8-444553540000”唯一指定使用flash播放器;width="400"和height="40"表示flash画面的宽高;codebase的值表示,如果未安装flash播放器的话去下载的站点。

多媒体(Multimedia)指图片、声音、音乐动画和视频。今天的Web浏览器已支持多种多媒体格式。多媒体可以被嵌入网页的标记中,在浏览器窗口播放。

不同的浏览器对声音、动画以及视频的处理方式是各不相同的。浏览器中播放多媒体,大多需要额外软件的支持:某些要求插件,而某些则要求ActiveX控件。如果未安装相应的支持软件,则浏览器可能不能正确播放。

一般来说,对于某个插件或者某个ActiveX控件并不能支持所有的多媒体格式,因此,播放某类格式的多媒体可能要安装一种插件(媒体播放器),而播放另一些格式的多媒体可能要安装另一种插件。如播放WMV、ASF等格式的视频文件要使用Windows媒体播放器(window media player),而播放RM格式的视频文件要使用Real Media播放器等。因此,计算机中要安装相应的插件对象才能处理相应的媒介类型,否则,浏览器窗口不能正确播放。当然,随着软件的不断更新,一方面浏览器软件自身提高了处理多媒体的能力,另一方面,播放器也提高了处理多种媒体格式的能力,但都不能包罗万象。

以不同音频格式存储的音频文件用不同的扩展名区分。因特网上使用的音频文件的扩展名主要有:.mid、.rm、.ram、.au、.wav、.mp3等。WAV格式是因特网上最流行的格式之一,且得到了所有流行的浏览器的支持。

视频文件存储格式的扩展名有:.avi、.wmv、.mpg、.mov、.rm、.ram等。以.swf为扩展名的视频文件是Shockwave(Flash)格式的视频文件。

下面的标记可以用来播放音频:

978-7-111-38219-5-Chapter03-47.jpg

该标记的作用是为网页提供背景音,例如:

978-7-111-38219-5-Chapter03-48.jpg

上面的代码断为网页设置了一个mp3文件作为背景音乐。

注释:<bgsound>标记不是标准的HTML或XHTML标记。仅有IE支持该标记。

下面的标记可以用来播放音频和视频:

使用超链接<a>

如果网页包含了一个指向某个媒介文件的超链接,大多数浏览器都会使用“插件程序”来播放该文件,例如:

978-7-111-38219-5-Chapter03-49.jpg

上面的代码段设置了一个指向MIDI文件的链接。如果用户单击该链接,浏览器将启动插件程序(比如Windows Media Player)来播放该MIDI文件。

978-7-111-38219-5-Chapter03-50.jpg

该标记的作用是在网页中嵌入多媒体,例如:

978-7-111-38219-5-Chapter03-51.jpg

上面的代码段使得浏览器将启动插件程序Windows Media Player来播放该WMV视频文件。<embed>标记的属性src指向要引用的多媒体数据源,width和height定义播放器窗口的宽、高,如果插件程序Windows Media Player尚未安装则到codebase指定的地址处下载。

注释:IE和Netscape都支持<embed>元素,但它不是标准的HTML或XHTML元素。W3C推荐使用<object>标记来代替它。

978-7-111-38219-5-Chapter03-52.jpg

W3C推荐使用<object>标记来播放Flash动画、音乐和视频等媒介类型。<object>用它的属性来指定使用的插件对象。<object>的主要属性如下:

classid:唯一的标识和指定要使用的插件对象。

height:对象(播放器)的高度,以像素或百分比计。

width:对象(播放器)的宽度,以像素或百分比计。

codebase:IE浏览器使用该属性来规定插件对象的下载位置。

<object>标记中还可以内嵌<param>标记,用于向对象传递参数:<param>的属性是name和value。name的值是参数名,value的值是参数名的值。对于不同的对象name和value的值不是完全一致的。

下面是几个例子,说明<object>和<param>的使用方法。(www.chuimin.cn)

(1)播放flash动画

978-7-111-38219-5-Chapter03-53.jpg

其中,classid的值“clsid:D27CDB6E-AE6D-11cf-96B8-444553540000”唯一指定使用flash播放器;width="400"和height="40"表示flash画面的宽高;codebase的值表示,如果未安装flash播放器的话去下载的站点。flash播放器将参数src的值作为要播放的flash文件,因此,用语句“<param name="src"value="bookmark.swf">”将flash文件“bookmark.swf”传给flash播放器播放。如果运行上面代码的浏览器不支持<object>标记的话,则执行<embed>标记中的代码。

(2)播放QuickTime影片

978-7-111-38219-5-Chapter03-54.jpg

代码“clsid:02BF25D5-8C17-4B23-BC80-D3488ABDDC6B”表示使用QuickTime播放器。“http://www.apple.com/qtactivex/qtplugin.cab”表示QuickTime播放器的下载站点,此位置包含QuickTime播放器的最新版本。src参数指向电影文件。QuickTime格式的文件扩展名是mov。如果希望电影自动播放的话,将autoplay参数设置为“true”。如果不希望显示控制按钮,则将controller参数设置为“false”。如果运行上面代码的浏览器不支持<object>标记的话,则执行<embed>标记中的代码。

(3)播放Real Video影片

978-7-111-38219-5-Chapter03-55.jpg

RealVideo格式由Real Media开发。以Real Video格式存储的视频,其扩展名是.rm或.ram。如果希望电影自动播放的话,将autostart参数设置为“true”。src是RealAudio或Re-alVideo片断的源。如果不希望显示控制按钮,将controls参数设置为“ImageWindow”,如果希望显示所有控制按钮,请将该参数设置为“All”,controls可以设置的参数有:

All:显示带有所有控件的完整播放器。

InfoVolume Panel:标题、作者、版权以及音量滑块。

InfoPanel:标题、作者以及版权。

ControlPanel:位置滑块、播放、暂停以及停止按钮。

StatusPanel:消息、当前时间位置以及片断长度

PlayButton:播放和暂停按钮。

StopButton:停止按钮。

VolumeSlider:音量滑块。

PositionField:位置和片断长度。

StatusField:消息。

ImageWindow:视频图像。

StatusBar:状态、位置和频道。

下面的“E_object_1.htm”程序演示了使用<object>标记播放音、视频。程序中用HTML的注释标记“<!--”、“-->”作了简单的注释。程序中有5处使用了<object>标记。前3处的<object>标记被浏览器解释执行并在浏览器窗口显示出来了;后两个<object>标记只作为引用不同插件对象的例子用注释标记注释掉了,浏览器没有显示它们。

使用“记事本”输入“E_object_1.htm”程序并存放在应用目录“webapps/ROOT”下的“E17”目录中。在浏览器地址栏中输入:http://192.168.2.1:8080/E17/E_object_1.htm,则浏览器窗口显示如图3-9所示。

E_object_1.htm:

978-7-111-38219-5-Chapter03-56.jpg

978-7-111-38219-5-Chapter03-57.jpg

978-7-111-38219-5-Chapter03-58.jpg

图3-9 播放Flash动画、视频和音乐