X3D對多媒體的支援是通過這三個節點來實現的:AudioClip(音頻資料節點)、Sound(音頻播放節點)以及MovieTexture(影像紋理節點)。
在本講中,我們先來簡單地介紹這三個節點的屬性,然後舉一些例子分別說明這些節點的使用及音頻和視頻的播放。
一、音頻和視頻節點
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。
上述屬性中所涉及到的位置關係可以用下圖來表示。