20111020

Java 關於聲音

java sound

關於聲音
聲音檔案如何計算?
frames * frame size * 聲道數
frames指 取樣頻率44100Hz下,一秒中44100個frames
frame size是 取樣位元的大小 通常有16bit 8bit
聲道數是指 單聲、雙聲、五點一之類的

Java取得聲音串流的方法

AudioSystem類提供多種方式取得串流
以下兩種取得聲音串流AudioInputStream 物件。
AudioSystem.getAudioInputStream(InputStream is);
Audiosystem.getAudioInputStream(File file);
取得聲音串流後,可以取得其頁框長度,也可以取得其Format物件,利用Format物件來得到串流的取樣頻率、取樣位元、頁框大小,利用頁框大小與頁框長度可以算出檔案大小
 //取得聲音串流的頁框長度
ais.getFrameLength();

//取得AudioFormat物件
ais.getFormat();

//取得取樣頻率
format.getSampleRate();

//取得頁框大小。回傳Byte
format.getFrameSize();

沒有留言: