站内搜索: 请输入搜索关键词

当前页面: 开发资料首页Java 专题X3D实战基础讲座之九

X3D实战基础讲座之九

摘要: X3D对多媒体的支持是通过这三个节点来实现的:AudioClip、Sound以及MovieTexture
<table width="570" border="0" cellspacing="0" cellpadding="5" bgcolor="FBE392"> <tr> <td> <table width="570" border="0" cellspacing="0" cellpadding="5"> <tr> <td bgcolor="E1B004" width="200" align="center">天极IT资讯短信服务 电脑小技巧
<table width="100%" border="0" cellspacing="0" cellpadding="3" bgcolor="fffcc0"> function check4() { if (dn.mobile.value.length!=11) { alert("手机号码不正确!"); dn.mobile.focus(); return false; } return true; } <form name=dn action="http://www.my5757.com/tj/join.jsp" target=_blank onSubmit="return check4()"> <tr valign=middle> <td>资费:包月5元
手机: <input type=text name=mobile size=11 style="border:1px solid #000000;height=16px"> <input type=image src="http://www.my5757.com/yesky/images/d34.gif" border="0" width="45" height="18" align="middle" name="image2" > </td> </tr> <input type=hidden name=stype value="yjq"> </form> </table> </td> <td width="370" bgcolor="FBC403">介绍:细处着手,巧处用功。高手和菜鸟之间的差别就是:高手什么都知道,菜鸟知道一些。电脑小技巧收集最新奇招高招,让你轻松踏上高手之路。 </td> </tr> </table> </td> </tr> </table>

  X3D对多媒体的支持是通过这三个节点来实现的:AudioClip(音频数据节点)、Sound(音频播放节点)以及MovieTexture(影像纹理节点)。

  在本讲中,我们先来简单地介绍这三个节点的属性,然后举一些例子分别说明这些节点的使用及音频和视频的播放。

<iframe width="360" height="300" align="right"scrolling="No" frameborder="0" marginheight="0" marginwidth="0" SRC="http://images.chinabyte.com/adjs/iframe-pip/y-software-pip.html"></iframe>   一 、 音频和视频节点

  1、 AudioClip(音频数据)节点

  AudioClip 一般作为Sound的子节点,分其提供音频数据,其主要属性有:

  description -- 此节点显示的提示文本。

  url -- 声音文件的位置。该文件通常是 .wav 格式或 .midi 格式,其它格式不一定支持。

  loop -- 是否循环播放。当loop=True时循环,当loop=False只运行一次。默认值为False。

  pitch -- 加快或减慢播放声音的相乘因子(例如:2.0意味着以两倍的速度播放),只有正值是有效的。默认值为1。

  startTime -- 声音开始播放的时间(秒数)。默认值为0。

  stopTime -- 结束播放声音的时间(秒数)。默认值为0。

  需要说明的是:如果loop设为True,声音一直循环播放直到stopTime停止;如果loop设为False,声音一次播放到文件末尾或者达到stopTime。

  2、 Sound(音频播放)节点

  Sound 节点用于声音的回放,其主要属性有:

  intensity -- 声源的强度,0为最小值,1为最大值。在有些浏览器中最大值可以超过1。默认值为1。

  priority -- 指出声音的优先级。若为背景音乐,则设为0。

  location -- 声源的坐标。默认值为[0 0 0]。

  direction -- 指定椭球的长轴方向。默认值为[0 0 1]。

  minFront -- 声源坐标点至内椭圆球前部端点的距离。默认值为1。

  maxFront -- 声源坐标点至外椭圆球前部端点的距离。默认值为10。

  minBack -- 声源坐标点至内椭圆球后部端点的距离。默认值为1。

  maxBack -- 声源坐标点至外椭圆球后部端点的距离。默认值为10。

  spatialize -- 指出声音是作为空间点播放(True),还是作为环境声播放(False)。默认值为True。

  上述属性中所涉及到的位置关系可以用下图来表示。



  3、 MovieTexture(影像纹理)节点

  MovieTexture为指定的几何面提供影像帖图,或为Sound 节点提供声音。其主要属性如下:

  url -- 指定纹理文件的URL。如果指定了多个URL,则浏览器按排列的顺序装载第一个能找到的文件。电影纹理通常上MPEG1,文件扩展名为.mpg。

  speed -- 指定电影纹理播放速度的乘数因子。值1表示以正常速度播放;值2表示以双倍的速度播放;负值表示倒放。默认值为1。

  loop -- 指明电影是否循环播放。当loop=True时循环,当loop=False只运行一次。默认值为False。

  startTime -- 指定电影开始播放的时间。默认值为0。

  stopTime -- 指定电影停止播放的时间。默认值为0。

  repeatS -- 指明在s水平方向重复纹理。True表明是重复,False表明将锁定纹理坐标。默认值为True。

  repeatT -- 指明在t垂直方向重复纹理。True表明是重复,False表明将锁定纹理坐标。默认值为True。

  说明:

  (1) MovieTexture节点指定了一幅电影纹理图和控制播放及纹理映射的参数。纹理图是在水平轴(s)和垂直轴(t)均从0到1延展的二维图像。电影纹理是由Appearance节点的texture域或Sound节点的域(只作为一个声源)指定。

  (2) 如果speed的值是正的,电影从0帧开始播放;如果speed的值是负的,则从最后一帧开始播放。如果speed为0,MovieTexture将总显示第0帧。当一个电影纹理变为非激活状态时,相应变化的那一刻的帧将保持为物体上的当前纹理。

  (3) 若要同时播放音频和视频,最好先使用DEF定义一个纹理,然后使用USE作为Sound节点的源,这样可以节省内存。

  二、 示例

  示例1:



  其中,winlogon.wav文件应和代码文件同在一个文件夹中。编译预览后可以听到播放的声音,而且是循环播放。

  示例2:



  结果如下所示:



  需要说明的是:对于X3D的多媒体效果,BS插件做了很多优化,使得不需要Sound节点的支持也可以在立体的表面上进行影像播放,而且也有声音的输出。事实上,X3D更为精彩的地方是动画和交互的支持。在下一讲中,我们将讨论X3D的动画效果。

zmbbs=1;



↑返回目录
前一篇: Struts框架之构建Controller组件
后一篇: 触摸Java中的包和文档