JAVA的聲音處理方法
作者:蝙蝠vs墮落 編輯:violet
JAVA的聲音處理
數字音頻格式有很多種,其質量與采樣頻率和采樣精度兩個參數有關。頻率的表示單位為赫茲〔Hz〕,它表示每秒采樣次數。采樣頻率越高,音質就越好。采樣精度為每次采樣所存儲的數據數量,它決定每個數字信號所能夠表示的離散振幅的數量。存儲每個樣本的數據越多,音質就越好。但是高品質的聲音需要占用大量的內存和磁盤空間。考慮到網絡帶寬,在Internet連接上傳輸就需要花費很長的時間。對於Applet來說,保證聲音文件的最小化是極為重要的。
Java能夠支持以下四種聲音格式:
◆AU
◆AIFF
◆WAVE
◆MIDI
第一種聲音格式AU為以前的Java 1.1版本支持的唯一的聲音格式。采樣頻率為8000赫茲,采樣精度為8位。AIFF和WAVE與AU格式一樣,都用來表示數字化的聲音。其中,WAVE格式提供了更寬范圍的音質。MIDI格式專用於音樂,並且以音符與樂器而不是數字化的聲音來描述聲音的。
關於聲音的創建:聲音關鍵工具為Windows9X中的標准應用程序—錄音機。錄制的格式為WAVE。另外還有很多專業水准的應用程序,采樣和編輯數字化的聲音,及格式的轉換。
資源需求:
■ 硬件資源需求:
⑴聲卡
⑵音箱
#如需要錄制聲音,這還需麥克風。
■ 軟件資源需求:
⑴windows9X操作系統
⑵網絡浏覽器
⑶Java插件/運行時間環境
處理方案一
JAVA2開始,爪哇語言能夠支持上述四種聲音格式。簡單的方法為在java中通過Applet類的AudioClip()接口來裝載聲音。該接口風鑽了有關聲音片斷的常用方法,具有對播放聲音片斷的最小支持。
該接口定義了如下方法:
■ play()
語法:void play()
功能:開始播放聲音片斷。
不論聲音片斷是否已經在播放,都從頭播放。播放一遍但不重復。
■ loop()
語法:void loop()
功能:循環播放聲音片斷。
調用該方法是不論聲音片斷是否已在播放,都從頭開始播放。
■ stop()
語法:void stop()
功能:停止播放聲音片斷。
AudioClip接口可以通過getAudioClip()及getCodeBase()方法來獲取聲音片斷及
URL地址。可以利用此方法在WEB頁中播放指定的聲音片斷。
#需求:基於JDK1.2以上版本的開發環境。如果只播放AU格式的聲音文件,JDK1
.1就可。