|
JavaTM 2 Platform Standard Ed. 6 |
|||||||||
上一個類別 下一個類別 | 框架 無框架 | |||||||||
摘要: 巢狀 | 欄位 | 建構子 | 方法 | 詳細資訊: 欄位 | 建構子 | 方法 |
java.lang.Object java.io.InputStream javax.sound.sampled.AudioInputStream
public class AudioInputStream
音頻輸入串流是具有指定音頻格式和長度的輸入串流。長度用範例幀表示,不用位元組表示。提供幾種方法,用於從串流讀取一定數量的位元組,或未指定數量的位元組。音頻輸入串流追蹤所讀取的最後一個位元組。可以跳過任意數量的位元組以到達稍後的讀取位置。音頻輸入串流可支持標記。設置標記時,會記住當前位置,以便可以稍後返回到該位置。
AudioSystem
類別包括許多操作 AudioInputStream
物件的方法。例如,這些方法可以讓您:
AudioSystem
,
Clip.open(AudioInputStream)
欄位摘要 | |
---|---|
protected AudioFormat |
format
串流中包含的音頻資料的格式。 |
protected long |
frameLength
此串流的長度,以範例幀為單位。 |
protected long |
framePos
此串流中的當前位置,以範例幀為單位(從零開始)。 |
protected int |
frameSize
每幀的大小,以位元組為單位。 |
建構子摘要 | |
---|---|
AudioInputStream(InputStream stream,
AudioFormat format,
long length)
使用指定輸入串流中的音頻資料建構具有請求的格式和長度(以範例幀為單位)的音頻輸入串流。 |
|
AudioInputStream(TargetDataLine line)
建構從指示的目標資料行讀取資料的音頻輸入串流。 |
方法摘要 | |
---|---|
int |
available()
返回可不受阻塞地從此音頻輸入串流中讀取(或跳過)的最大位元組數。 |
void |
close()
關閉此音頻輸入串流並釋放與該串流關聯的所有系統資源。 |
AudioFormat |
getFormat()
獲得此音頻輸入串流中聲音資料的音頻格式。 |
long |
getFrameLength()
獲得串流的長度,以範例幀表示,而不是以位元組表示。 |
void |
mark(int readlimit)
標記此音頻輸入串流中的當前位置。 |
boolean |
markSupported()
測試此音頻輸入串流是否支持 mark 和 reset 方法。 |
int |
read()
從音頻輸入串流讀取資料下一個位元組。 |
int |
read(byte[] b)
從音頻輸入串流讀取一定數量的位元組,並將其存儲在緩衝區陣列 b 中。 |
int |
read(byte[] b,
int off,
int len)
從音頻串流讀取指定的最大數量的資料位元組,並將其放入給定的位元組陣列中。 |
void |
reset()
將此音頻輸入串流重新定位到上一次調用其 mark 方法時的位置。 |
long |
skip(long n)
跳過並丟棄此音頻輸入串流中指定數量的位元組。 |
從類別 java.lang.Object 繼承的方法 |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
欄位詳細資訊 |
---|
protected AudioFormat format
protected long frameLength
protected int frameSize
protected long framePos
建構子詳細資訊 |
---|
public AudioInputStream(InputStream stream, AudioFormat format, long length)
stream
- 串流,AudioInputStream
物件以該為基礎format
- 此串流的音頻資料格式length
- 在此串流中的資料長度(以範例幀為單位)public AudioInputStream(TargetDataLine line)
line
- 此串流從中獲得資料的目標資料行。AudioSystem.NOT_SPECIFIED
方法詳細資訊 |
---|
public AudioFormat getFormat()
public long getFrameLength()
public int read() throws IOException
IOException
。
InputStream
中的 read
IOException
- 如果發生輸入或輸出錯誤read(byte[], int, int)
,
read(byte[])
,
public int read(byte[] b) throws IOException
b
中。以整數形式返回實際讀取的位元組數。在輸入資料可用、檢測到串流末尾或拋出異常之前,此方法將一直阻塞。
此方法將總是讀取整數幀。如果陣列的長度不是整數幀,則讀取最大數量的 b.length - (b.length % frameSize)
位元組。
InputStream
中的 read
b
- 將資料讀入的緩衝區
IOException
- 如果發生輸入或輸出錯誤read(byte[], int, int)
,
read()
,
available()
public int read(byte[] b, int off, int len) throws IOException
此方法將總是讀取整數幀。如果 len
未指定整數幀,則讀取最大數量的 len - (len % frameSize)
位元組。
InputStream
中的 read
b
- 將資料讀入的緩衝區off
- 從陣列 b
的開頭開始的偏移量,將從此處寫入資料len
- 要讀取的最大數量的位元組
IOException
- 如果發生輸入或輸出錯誤read(byte[])
,
read()
,
skip(long)
,
available()
public long skip(long n) throws IOException
InputStream
中的 skip
n
- 要跳過的請求數量的位元組
IOException
- 如果發生輸入或輸出錯誤read()
,
available()
public int available() throws IOException
read
或 skip
方法的下一個調用;每次調用這些方法時該限制都可以有所不同。如果關閉此串流,則可能拋出 IOException,這一點取決於基礎串流。
InputStream
中的 available
IOException
- 如果發生輸入或輸出錯誤read(byte[], int, int)
,
read(byte[])
,
read()
,
skip(long)
public void close() throws IOException
Closeable
中的 close
InputStream
中的 close
IOException
- 如果發生輸入或輸出錯誤public void mark(int readlimit)
InputStream
中的 mark
readlimit
- 在標記位置變得無效之前可以讀取的最大位元組數。reset()
,
markSupported()
public void reset() throws IOException
mark
方法時的位置。
InputStream
中的 reset
IOException
- 如果發生輸入或輸出錯誤。mark(int)
,
markSupported()
public boolean markSupported()
mark
和 reset
方法。
InputStream
中的 markSupported
mark
和 reset
方法,則返回 true
;否則返回 false
mark(int)
,
reset()
|
JavaTM 2 Platform Standard Ed. 6 |
|||||||||
上一個類別 下一個類別 | 框架 無框架 | |||||||||
摘要: 巢狀 | 欄位 | 建構子 | 方法 | 詳細資訊: 欄位 | 建構子 | 方法 |
版權所有 2008 Sun Microsystems, Inc. 保留所有權利。請遵守GNU General Public License, version 2 only。